0

7.1 エミュレーター内で実行する Windows Phone アプリケーションがあります。私はこのコードを持っています:

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

制御が入るGetResponse()と、最初にFileNotFound最初の例外が発生します

ファイルまたはアセンブリ名 'System.Windows.debug.resources、Version=2.0.5.0、Culture=en-US、PublicKeyToken=7cec85d7bea7798e'、またはその依存関係の 1 つが見つかりませんでした。

次のコールスタックで

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に関連している可能性があることを読んだので、Fiddlerの有無にかかわらず試しましたが、動作は常に同じです。Fiddler が実行されているとき、リクエストが送信される URL が外部ネットワーク上のサーバーの URL であるにもかかわらず、リクエストが自分のマシンから出ることはありません。

コール スタックは、何らかの問題が発生してClientHttpWebRequest.Failed()呼び出され、後者が機能しなかったことを示しています。だから多分私はそれをオーバーライドして、どうにかして問題のあるコードをバイパスできますResx.GetString()か?

問題のあるコードをオーバーライドしClientHttpWebRequest.Failed()たり、バイパスしたりすることはできますか?

4

1 に答える 1

0

最初の質問に対する答えではありませんが、問題は回避できたようです。

取引は、私が企業の Forefront TMG の背後にいて、すべてのプログラムが要求をインターネットに渡すことができるように、Forefront TMG クライアントを自分のコンピューターで実行していることです。TMG サーバーは say と呼ばれますtmgserver

そこで、[インターネット オプション] (Internet Explorer からアクセス可能) を開き、[接続] タブに [LAN 設定] ボタンがあります。クリックすると、[LAN にプロキシ サーバーを使用する] チェックボックスが表示され、サーバー名は次のようになります。tmgserverポート番号は8080です。チェックボックスをオフにして、「適用」を必要な回数だけクリックすると、問題は解決します。

于 2013-05-20T14:29:05.797 に答える