我有一個Silverlight應用程序,它使用位於Web項目中的WCF服務。我有一個在服務中的方法,以二進制格式上傳文件到數據庫...這對所有大約6MB的文件都適用,但是當我超過這個限制時,我得到錯誤「遠程服務器返回一個錯誤:未找到。」這並沒有告訴我很多。使用Silverlight/WCF將大文件上傳到數據庫
我打開了跟蹤和日誌記錄,我沒有收到任何錯誤/消息。我認爲有一個上傳/傳輸大小的設置,但我不知道那會是什麼。我已經搞亂了web.config中的某些設置,但沒有成功。
如何超過此限制?
編輯:也許我應該張貼我的代碼中的第一個地方,我都設置(總是有)所建議的大小...
<bindings>
<basicHttpBinding>
<binding name="TaskCalendarService.BasicHttpBinding"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647"
maxBufferPoolSize="2147483647"
transferMode="StreamedResponse">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="TaskServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
<service name="TaskCalendarService"
behaviorConfiguration="TaskServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="TaskCalendarService.BasicHttpBinding"
contract="Pars.Web.TaskCalendarService" />
<endpoint address="mex"
binding="mexHttpsBinding"
contract="IMetadataExchange" />
</service>
正如你現在可以看到,一切我可以認爲已經設置了足夠大的尺寸以能夠處理超過6 MB的內容,但我仍然遇到此錯誤。
EDIT:錯誤
內部異常:
{System.Net.WebException:遠程服務器返回錯誤:NOTFOUND。 ---> System.Net.WebException:遠程服務器返回錯誤:在System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult的asyncResult)NOTFOUND 「 & vbCrLf & 」「 & vbCrLf &」 在System.Net .Browser.BrowserHttpWebRequest。 <> c_ DisplayClass5.b _4(Object sendState)「 & vbCrLf &」at System.Net.Browser.AsyncHelper。 <> C_ DisplayClass4.b _1(對象sendState) 「 & vbCrLf & 」---內部異常堆棧跟蹤的結尾---「 & vbCrLf &」
在System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod,對象狀態) 「 & vbCrLf & 」在System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult的asyncResult)「 & vbCrLf &」 在System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult的結果)}
在彈出的錯誤窗口中還暗示:
InnerException:檢查異常的Response屬性以確定請求失敗的原因。 InnerException:檢查異常的Status屬性以確定請求失敗的原因。
的響應特性說:{System.NotImplementedException:該屬性不被這個類實現 「& vbCrLf &」 在System.Net.HttpWebResponse.get_Cookies()}
的狀態只是說:WebExceptionStatus。 UnknownError(HttpStatusCode。NOTFOUND)
堆棧跟蹤:
在System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod,對象狀態) 在System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult的asyncResult) 在System.ServiceModel .Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult的結果)
你是如何上傳它們的?有正常的Ria服務嗎? – Graymatter
@Graymatter我希望我可以告訴你,但我對這個WCF的東西是新的,我不能說真的是不是正常的RIA。 –
你應該嘗試使用這樣的東西:http://slfileupload.codeplex.com/。這將以塊的形式上傳文件。 – Graymatter