[英]How do I set maxReceivedMessageSize on Self Hosted WCF Service?
[英]Custom SharePoint 2010 WCF Service - How to set MaxReceivedMessageSize parameter
我已经在SharePoint 2010 Visual Studio空项目中开发了自定义WCF Web服务。
我的网络服务运行良好。 问题与我可以发送到此Web服务的请求的大小有关。 我已经意识到大约300Kb。 如果我超出此范围,则服务/客户端向我发送异常。
我在网上四处张望,发现MaxReceivedMessageSize设置可能是我的解决方案。 我尝试使用FeatureActivated方法通过以下请求设置此信息:
// increase maximum size of requests to this web service: http://msdn.microsoft.com/en-us/library/ff599489.aspx
SPWebService contentService = SPWebService.ContentService;
contentService.ClientRequestServiceSettings.MaxReceivedMessageSize = -1;
SPWcfServiceSettings csomWcfSettings = new SPWcfServiceSettings();
csomWcfSettings.MaxReceivedMessageSize = 10485760; // 10MB
contentService.WcfServiceSettings["PT-SP-P2S-DocumentCreator.svc"] = csomWcfSettings;
contentService.Update(); // access denied thrown here!
使用该代码,我的访问被拒绝(我实际上是网站集管理员)。
我也知道可以在Web服务主机的app.config中设置此参数,但是在SharePoint中,我需要在哪里更改此参数。
我认为您应该在激活该功能的Web应用程序的web.config文件中进行此更改。 SharePoint提供了用于更改web.config的API。 实际上,首选使用API来更改web.config,因为SharePoint使用Timer Job并对环境中的所有Web前端服务器进行相同的更新。 如下所述,有2种方法可以更改web.config:
http://msdn.microsoft.com/en-us/library/ms460914.aspx
在您的情况下,由于您只想在激活功能时进行更改,因此可以采用此处记录的API方法: http : //msdn.microsoft.com/zh-cn/library/bb861909.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.