WP7 httpWebRequest在NoDo上的例外,但不是Mango

时间:2011-11-02 21:29:55

标签: .net exception windows-phone-7 .net-4.0 httpwebrequest

我的应用程序中有这些代码。 我的应用程序是使用7.1工具的Windows Phone 7.0的目标。在Mango设备或模拟器上运行此应用程序很好,但在noDo上运行它会产生以下异常:

var response = request.EndGetResponse(a); 

System.Exception未处理

Message=""
StackTrace:
   at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
   at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at NextBuses.Stop.<>c__DisplayClass4.<RunPost>b__1(IAsyncResult a)
   at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClassa.<InvokeGetResponseCallback>b__8(Object state2)
   at System.Threading.ThreadPool.WorkItem.doWork(Object o)
   at System.Threading.Timer.ring()
InnerException: 
   Message=0x80072ee5
   StackTrace:
        at MS.Internal.XcpImports.MethodEx(IntPtr ptr, String name, CValue[] cvData)
        at MS.Internal.XcpImports.MethodEx(DependencyObject obj, String name)
        at MS.Internal.XcpImports.WebRequest_Send(InternalWebRequest request)
        at MS.Internal.InternalWebRequest.Send()
        at System.Net.Browser.ClientHttpWebRequest.PrepareAndSendRequest(String method, Uri requestUri, Stream requestBodyStream, WebHeaderCollection headerCollection, CookieContainer cookieContainer)
        at System.Net.Browser.ClientHttpWebRequest.BeginGetResponseImplementation()
        at System.Net.Browser.ClientHttpWebRequest.InternalBeginGetResponse(AsyncCallback callback, Object state)
        at System.Net.Browser.AsyncHelper.<>c__DisplayClassa.<BeginOnUI>b__7(Object sendState)
        at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
        at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark)
        at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
        at System.Delegate.DynamicInvokeOne(Object[] args)
        at System.MulticastDelegate.DynamicInvokeImpl(Object[] args)
        at System.Delegate.DynamicInvoke(Object[] args)
        at System.Windows.Threading.Dispatcher.<>c__DisplayClass4.<FastInvoke>b__3()
        at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark)
        at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark)
        at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
        at System.Delegate.DynamicInvokeOne(Object[] args)
        at System.MulticastDelegate.DynamicInvokeImpl(Object[] args)
        at System.Delegate.DynamicInvoke(Object[] args)
        at System.Windows.Threading.DispatcherOperation.Invoke()
        at System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority priority)
        at System.Windows.Threading.Dispatcher.OnInvoke(Object context)
        at System.Windows.Hosting.CallbackCookie.Invoke(Object[] args)
        at System.Windows.Hosting.DelegateWrapper.InternalInvoke(Object[] args)
        at System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle, Int32 nParamCount, ScriptParam[] pParams, ScriptParam& pResult)

它没有使它成为catch语句

代码:

var request = (HttpWebRequest)WebRequest.Create(uri); 
        request.ContentType = "application/x-www-form-urlencoded";
        request.UseDefaultCredentials = true;
        request.Method = "POST"; request.BeginGetRequestStream(ar =>
        {
            var requestStream = request.EndGetRequestStream(ar); 
            using (var sw = new StreamWriter(requestStream)) 
            { 
                sw.Write(query);
            }  
            request.BeginGetResponse(a => 
            { 
                try 
            { 
                    var response = request.EndGetResponse(a); 
                    var responseStream = response.GetResponseStream(); 
                    using (var sr = new StreamReader(responseStream)) 
                    {
                        PostResult = sr.ReadToEnd();
                        Deployment.Current.Dispatcher.BeginInvoke(() =>
                        {
                            if (PostResult != null)
                            {
                                PopulateList();
                            };
                        }); 

                   }

                } 

                catch (WebException exception) 
                  //  catch (WebException exception) 
                { 
                    Deployment.Current.Dispatcher.BeginInvoke(() => 
                    { 
                      //  MessageBox.Show(exception.Message); 
                        MessageBox.Show("Server Error or connection problem. If this keeps occuring, please email via the contact page, so this can be fixed");
                        NavigationService.GoBack();
                        tmr.Stop();
                        tmr2.Stop();
                    }); 
                } 
            }, null); 
        }, null);

我正在抓我的heead为什么这应该只在NoDo发生。 感谢。

0 个答案:

没有答案