我如何重写ClientHttpwebRequest.Failed()

本文关键字:ClientHttpwebRequest Failed 重写 何重写 | 更新日期: 2023-09-27 18:14:20

我有一个Windows Phone应用程序,我在7.1模拟器中运行。我有这样的代码:

 WebRequest resuest = ///
 using (HttpWebResponse result = (HttpWebResponse)request.GetResponse())
 {

一旦控制进入GetResponse()我首先有FileNotFound第一次异常

文件或程序集名称"System.Windows.debug.resources, Version=2.0.5.0, Culture=en-US, PublicKeyToken=7cec85d7bea7798e",或其依赖项之一,未找到。

和下面的调用堆栈

mscorlib.dll!System.ThrowHelper.throwVersion37CompatException(System.ExceptionType newEType, string newString, System.ExceptionType oldEType, string oldString) + 0x19 bytes    
mscorlib.dll!System.Reflection.Assembly.Load(string assemblyString) + 0x5d bytes    
System.Windows.dll!System.Windows.Resx.Resx() + 0x29 bytes  
System.Windows.dll!System.Windows.Resx.GetLoader() + 0x1f bytes 
System.Windows.dll!System.Windows.Resx.GetString(string name, out bool fallbackUsed, object[] args) 
System.Windows.dll!System.Windows.Resx.GetString(string name, object[] args)    
System.Windows.dll!System.Net.Browser.ClientHttpWebRequest.Failed(object sender, System.EventArgs e) + 0xf8 bytes   
System.Windows.dll!MS.Internal.InternalWebRequest.OnDownloadFailed(object sender, MS.Internal.ErrorEventArgs args) + 0x15 bytes 
System.Windows.dll!MS.Internal.CoreInvokeHandler.InvokeEventHandler(int typeIndex, System.Delegate handlerDelegate, object sender, object args) + 0x3f4 bytes   
System.Windows.dll!MS.Internal.JoltHelper.FireEvent(System.IntPtr unmanagedObj, System.IntPtr unmanagedObjArgs, int argsTypeIndex, int actualArgsTypeIndex, string eventName) + 0x178 bytes 
[External Code]

,当我点击"继续"时,我得到未处理的WebException

远程服务器返回一个错误:NotFound.

第一个问题看起来像是一个众所周知的问题的变体。因为这个问题,我的程序无法运行。我读到这可能在某种程度上与提琴手有关,所以我尝试了有和没有提琴手,但行为是相同的所有时间。当Fiddler运行时,我没有看到请求离开我的机器,尽管请求要发送的URL是外部网络上服务器的URL。

调用堆栈显示有一些问题导致ClientHttpWebRequest.Failed()调用,然后后者无法工作。所以也许我可以覆盖它,以某种方式绕过有问题的代码与Resx.GetString() ?

我可以覆盖ClientHttpWebRequest.Failed()或有问题的代码绕过?

我如何重写ClientHttpwebRequest.Failed()

没有真正回答最初的问题,但我似乎已经解决了这个问题。

交易是我背后的公司前沿TMG和我有前沿TMG客户端运行在我的电脑上,所以所有的程序可以有他们的请求传递到互联网。TMG服务器被称为tmgserver

所以我打开"Internet选项"(可从Internet Explorer访问),并在"连接"选项卡上有"局域网设置"按钮,当我点击它时,我看到有一个复选框"为您的局域网使用代理服务器",服务器名称是tmgserver,端口号是8080。现在我只要清除复选框,点击"应用"必要的次数,问题就解决了。

相关文章:
  • 没有找到相关文章