windows-phone-7 – 在Windows Phone 7上返回“远程服务器返回错误:NotFound”的HttpWebRequest

前端之家收集整理的这篇文章主要介绍了windows-phone-7 – 在Windows Phone 7上返回“远程服务器返回错误:NotFound”的HttpWebRequest前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 Windows Phone 7模拟器对Huddle API进行身份验证.但是,我没有取得任何成功.我一直得到“远程服务器返回错误:NotFound”.我甚至试图“减少”我的代码,只是尝试一个直接的网站,例如.谷歌但仍然得到相同的结果.

我有以下代码

  1. string url = "http://www.google.com";
  2.  
  3. HttpWebRequest client= WebRequest.CreateHttp(new Uri(url)) as HttpWebRequest;
  4.  
  5. client.AllowReadStreamBuffering = true;
  6.  
  7. // Call and handle the response.
  8. client.BeginGetResponse(
  9. (asResult) =>
  10. {
  11. Dispatcher.BeginInvoke(
  12. () =>
  13. {
  14. try
  15. {
  16. var response = client.EndGetResponse(asResult);
  17. System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
  18. string responseString = reader.ReadToEnd();
  19.  
  20. }
  21. catch (WebException failure)
  22. {
  23. throw failure;
  24. }
  25. });
  26. },null
  27. );

执行总是在catch部分结束.但是,看过Fiddler2后,google.com似乎没有任何流量.所以似乎没有提出要求.

我在Retrieve XML from https using WebClient/HttpWebRequest – WP7看到过类似的问题,但我使用的是标准端口,所以不确定这是否相关.我也尝试按照帖子简化代码,但没有成功.

有趣的是,最可能的选择似乎是因为我可能没有按照HttpWebRequest Breaks On WP7在AppManifestWM.xaml文件中定义网络功能,但我的AppManifestWM.xaml文件似乎已定义:

  1. <Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0">
  2. <App xmlns="" ProductID="{ac5b5d62-573c-4134-b290-0ad4f678ad7f}" Title="xxx.WindowsPhone7.Client" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="xxx.WindowsPhone7.Client author" Description="Sample description" Publisher="xxx.WindowsPhone7.Client publisher">
  3. <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
  4. <Capabilities>
  5. <Capability Name="ID_CAP_NETWORKING" />
  6. <Capability Name="ID_CAP_LOCATION" />
  7. <Capability Name="ID_CAP_SENSORS" />
  8. <Capability Name="ID_CAP_MICROPHONE" />
  9. <Capability Name="ID_CAP_MEDIALIB" />
  10. <Capability Name="ID_CAP_GAMERSERVICES" />
  11. <Capability Name="ID_CAP_PHONEDIALER" />
  12. <Capability Name="ID_CAP_PUSH_NOTIFICATION" />
  13. <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
  14. </Capabilities>
  15. <Tasks>
  16. <DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/>
  17. </Tasks>
  18. <Tokens>
  19. <PrimaryToken TokenID="xxx.WindowsPhone7.ClientToken" TaskName="_default">
  20. <TemplateType5>
  21. <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
  22. <Count>0</Count>
  23. <Title>xxx.WindowsPhone7.Client</Title>
  24. </TemplateType5>
  25. </PrimaryToken>
  26. </Tokens>
  27. </App>
  28. </Deployment>

所以我很茫然.该请求实际上似乎并没有发生,导致我认为某些事情正在阻止它.

更新:

没有任何改变,但认为这个堆栈跟踪可能heko:

System.Net.WebException was unhandled
Message=The remote server returned an
error: NotFound. StackTrace:
at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult
asyncResult)
at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult
asyncResult)
at xxx.WindowsPhone7.Client.Views.AddHuddleUserPage.<>c__DisplayClass2.<>c__DisplayClass4.b__1()
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)

状态为System.Net.WebExceptionStatus.UnknownError

谢谢你的时间.

从未使用Fiddler2,但在开发Windows Phone应用程序时遇到了同样的问题.

对我来说,原因完全不同:
WMAppManifest.xml刚刚缺少ID_CAP_NETWORKING!

由于我得到了“未找到”异常而不是“不支持的异常”,我几乎尝试了其他所有内容,直到找到问题的真正原因…

猜你在找的Windows相关文章