Not*_*Dan 5 .net c# silverlight
以下代码行在Silverlight中的Chrome和Firefox下抛出ArgumentNullException.我正在使用HttpWebRequest将文件发布到服务器.IE中不会发生异常,只有在我上传较大的文件(5mb)时才会发生.在IE下它工作得很好.我没有在文档中看到为什么代码会抛出此异常的任何原因.
//note that asyncResult is not null
response = (HttpWebResponse)request.EndGetResponse(asyncResult);
Run Code Online (Sandbox Code Playgroud)
以下是异常的堆栈跟踪:
at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState)
Run Code Online (Sandbox Code Playgroud)
内部异常:
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at DC.FileUpload.FileUpload.<>c__DisplayClassc.<UploadFileEx>b__a(IAsyncResult asyncResult)
Run Code Online (Sandbox Code Playgroud)
几天前,我在 HttpWebResponse 中遇到了完全相同的奇怪错误(但在绝对其他情况下)。就我而言,这是多线程问题。看起来主线程和工作线程之一(带有委托)试图共享一些变量。因此,我可能建议您尝试将所有类级别变量移至方法体中(或为关键部分添加锁定),然后使用活动的“线程”窗口调试应用程序。
要启用此窗口,请在调试期间单击“调试”=>“Windows”=>“线程”。我希望它能帮助您解决这个奇怪的错误。