20

次の WCF コードを実行すると、「指定されたレジストリ キーが存在しません」というエラーが表示されます。

return base.Channel.GetRateSheet(request);

これは、これが使用されるメソッドの残りの部分です。

public GetRateSheetResponse GetRateSheet(GetRateSheetRequest request)
{
    return base.Channel.GetRateSheet(request);
} 

このエンドポイントの構成は次のとおりです。

<endpoint address="http://*********/*******/Service.svc"
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IBusinessService"
          name="Endpoint_RateSheetService"
          contract="*********.RateSheetService" />

このコードは何週間も機能していましたが、今朝、このエラーがスローされ始めました。

内部例外はなく、取得する唯一のスタック トレースは次のとおりです。

at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)

VS を再起動し、マシンを再起動し、ソース コードの最新バージョンを入手しました。

XP 32ビットを実行しています。

[編集:]ソリューションのbinフォルダーに移動して実行可能ファイルを直接実行すると、動作します-エラーはありません。このエラーは、Visual Studio から実行している場合にのみ発生します

4

3 に答える 3

36

.NET Frameworkのセキュリティパッチをインストールした後、同様の問題に直面したようです。MS12-074:.NET Frameworkの脆弱性により、リモートでコードが実行される可能性があります:2012年11月13日

あなたはここでそれを修正するようにマイクロソフトに頼むことができます

回避策-次のレジストリキーを追加します。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"LegacyWPADSupport"=dword:00000000

64ビットマシンの場合

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework]
"LegacyWPADSupport"=dword:00000000 
于 2013-01-21T04:26:57.040 に答える