Я столкнулся с очень странным поведением при отладке в VS 2010 со службой WCF. Вот фрагмент кода:
public MapFileInfo[] ListFiles(string user, string pass)
{
return s.ListFiles(user, pass);
}
Я хочу, чтобы в случае сбоя аутентификации всплыло исключение. Однако, что на самом деле происходит в режиме отладки, так это то, что он вызывает s.ListFiles(user, pass)
. Поэтому для дальнейшего тестирования моей теории, что VS делает что-то подозрительное, я просто сделал следующее:
try
{
return s.ListFiles(user, pass);
}
catch (SoapHeaderException e)
{
throw e;
}
И вот, throw e
вызывается снова и снова и снова, когда я вступаю в (F8) вместо того, чтобы бросать его в оператор вызова через стек вызовов.
Кто-нибудь испытывал это странное поведение раньше? Я не могу отлаживать приложение из-за этого. Кроме того, я могу просмотреть сервисный код, который, очевидно, выдает исключение и возвращается к оператору вызова (то есть s.ListFiles), поэтому я знаю, что это происходит.