是否有可能在不转换为自定义绑定的情况下增加轮询双链绑定的最大字符串内容长度属性?

StackOverflow https://stackoverflow.com/questions/6306034

我正在使用轮询双工绑定来进行我的Silverlight客户端应用程序和WCF Web服务之间的通信。我通过与XML String参数的Web服务中的方法异步调用一种方法,将消息从Silverlight Web Appliciation推到WCF Web服务。一切都很好,直到我尝试发送一个非常大的XML字符串。然后我收到消息:

“格式化者在试图夸大消息时抛出了一个例外:在读取XML数据时超出了操作'Senduserelection'senduserelection'senduserelection'的请求消息的错误。创建XML读取器时使用的XmldictionaryReaderquotas对象上的MaxStringContentLength属性。”

在这种情况下,通常要做的是增加web.config文件中绑定的maxStringContentLength属性。这里的问题是,在尝试将读取器元素(包含MaxStringContentLength)添加到绑定中时,根本不考虑它。我发现这是一个已知的问题: http://blogs.msdn.com/b/silverlightws/archive/2010/04/04/some-noning-wcf-issues-ingues-in-silverlight-4.aspx 。给出的解决方案是使用包含轮询双工元件的自定义绑定。我尝试过,但是我没有让它起作用。

我的问题是否还有其他解决问题的方法,还是这是唯一的解决方案?

有帮助吗?

解决方案

不,您确实需要进行自定义绑定。 PollingDuplexHttpBinding类不会公开读取器配额,因此,如果您有配额问题,则确实需要转到自定义绑定路线。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top