我在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>
你設法解決這個問題嗎?我有一個與Azure類似的問題,完全忽略了我的配置,並且我也從Azure WCF服務中獲得了413個錯誤。 – Aaron
是的。問題在於Visual Studio沒有上傳配置文件作爲部署的一部分。在您的實例上啓用rdp,遠程登錄並手動複製配置文件,以查看您的問題是否具有我的根本原因。 –