2013-08-02 97 views
0

我在Azure上部署了RESTful WCF服務。其中一個合約操作應該是拍攝從客戶端上傳的圖像文件(不大於500kb)。目前,我的解決方案在Azure計算機/存儲模擬器中運行時沒有任何問題。但是,當我將解決方案部署到Azure時,客戶端的上傳(圖像大小爲133kb)失敗,請求實體太大。看起來Azure忽略了我在web.config中設置的配置(這在Azure模擬器中正確選取)。Azure上的WCF REST因「413請求實體太大」而失敗

任何有關如何解決這個問題的幫助將不勝感激。以下是我的代碼的相關片段。

接口

namespace HappyBabiesSvc 
{ 
    [ServiceContract]  
    public interface IHappyBabies 

[OperationContract] 
    [WebInvoke(UriTemplate = "/v1.0/locations/{locationID}/images", 
     Method = "PUT")] 
    void UploadNewImage(string locationID, Stream imageToUpload); 

服務實現

<%@ ServiceHost Language="C#" Debug="true" Service="HappyBabiesSvc.HappyBabiesSvc" Factory="System.ServiceModel.Activation.WebServiceHostFactory" %> 

的Web.config

<system.serviceModel>  
    <standardEndpoints>  
     <webHttpEndpoint>   
     <standardEndpoint maxReceivedMessageSize="655360"/> 
     </webHttpEndpoint> 
    </standardEndpoints>  
    <serviceHostingEnvironment multipleSiteBindingsEnabled="false"/> 
    <services> 
     <service name="HappyBabiesSvc.HappyBabiesSvc" behaviorConfiguration="ServiceConfiguration"> 
     <endpoint address="" binding="webHttpBinding" 
      name="HappyBabiesService" 
      contract="HappyBabiesSvc.IHappyBabies" /> 
     </service> 
    </services> 
    <bindings> 
    <webHttpBinding> 
     <binding maxBufferSize="655360" 
     maxReceivedMessageSize="655360" transferMode="Streamed"> 
     <readerQuotas maxDepth="655360" maxStringContentLength="655360" 
      maxArrayLength="655360" maxBytesPerRead="655360" maxNameTableCharCount="655360" /> 
     </binding> 
    </webHttpBinding> 
    </bindings> 
    </system.serviceModel> 
+0

你設法解決這個問題嗎?我有一個與Azure類似的問題,完全忽略了我的配置,並且我也從Azure WCF服務中獲得了413個錯誤。 – Aaron

+0

是的。問題在於Visual Studio沒有上傳配置文件作爲部署的一部分。在您的實例上啓用rdp,遠程登錄並手動複製配置文件,以查看您的問題是否具有我的根本原因。 –

回答

0

嘗試僅僅與是流單一參數方法。 流參數應該是單獨的。

[OperationContract的] [WebInvoke(UriTemplate =「/v1.0/locations/{locationID}/images",Method = 「PUT」)] 空隙UploadNewImage(流imageToUpload);

+0

這個答案解決了這個問題嗎? – Aaron

+0

這是一個廢話的答案,錯誤和誤導。 – user4698855

+0

請檢查https://social.technet.microsoft.com/Forums/azure/en-US/48facfba-15d4-4e7e-998f-7e88ff9afc21/wcf-restful-services-running-on-azure-fails-with-413 -request-實體過大的?論壇= windowsazuredevelopment –