我创建了一个这样的EndpointAddress
EndpointAddress address = new EndpointAddress("http://example.com/services/OrderService.svc");
但是我无法通过编程方式将行为添加到此端点.
行为如下:
<behaviors> <endpointBehaviors> <behavior name="NewBehavior"> <dataContractSerializer maxItemsInObjectGraph="6553600" /> </behavior> </endpointBehaviors> </behaviors>
解决方法
在服务器上,您必须将其添加到ServiceBehavior属性中:
[ServiceBehavior(MaxItemsInObjectGraph = int.MaxValue)]
在客户端上,您必须将其应用于端点.在此示例中,您可以看到如何将其添加到ChannelFactory中的所有端点:
var factory = new ChannelFactory<IInterface>(...); foreach (OperationDescription op in factory.Endpoint.Contract.Operations) { var dataContractBehavior = op.Behaviors.Find<DataContractSerializerOperationBehavior>(); if (dataContractBehavior != null) { dataContractBehavior.MaxItemsInObjectGraph = int.MaxValue; } }
原文地址:https://www.jb51.cc/csharp/96444.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。