簡體   English   中英

自定義SharePoint 2010 WCF服務-如何設置MaxReceivedMessageSize參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM