Подтвердить что ты не робот

WCF: указанный ключ реестра не существует в base.Channel call

Я получаю сообщение об ошибке: "Указанный раздел реестра не существует", когда выполняется следующий код 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 бит.

[EDIT:] Когда я перехожу в папку bin решения и запускаю исполняемый файл, он работает - без ошибок. Ошибка возникает только при запуске из Visual Studio

4b9b3361

Ответ 1

Кажется, люди столкнулись с подобными проблемами после установки исправления безопасности для .NET Framework: MS12-074: Уязвимости в .NET Framework могут позволить удаленное выполнение кода: 13 ноября 2012 г.

Вы можете попросить microsoft исправить его здесь

Обходной путь - добавьте следующий раздел реестра:

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

Для 64-битных машин

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

Ответ 2

Я столкнулся с этой проблемой при отладке чего-то сегодня. Исключение уходит, если вы проверите параметр "Только мой код" в настройках отладки внутри VS.

Ответ 3

Перейдите в → Отладка → Исключения и снимите флажок "Исключения общего времени выполнения языка"

Это должно решить проблему.