Я могу найти окончательный ответ по этому вопросу. Мне известно о проблеме использования () {} с клиентским прокси. Но у нас есть клиент, который использует все исключения, возвращаемые нашим сервисом, и кажется, что после возникновения исключения клиент больше не может общаться с сервисом (мы не получаем результатов в наших трассировках сервиса). Клиент - это веб-приложение (.NET 3.5). Кто-нибудь испытывал такое поведение?
Вот код клиента:
public static bool ValidateDigitalSignatureCredentials(string barNumber, string PIN)
{
UserInfo userTicket = JTAC.INcite.Framework.Security.Authentication.CurrentUser;
DigitalSigning.DigitalSignatureClient client = null;
bool validSigning = false;
try
{
client = new DigitalSigning.DigitalSignatureClient();
client.ClientCredentials.UserName.UserName = "foo";
client.ClientCredentials.UserName.Password = "bar";
validSigning = client.VerifyCredentials(barNumber, PIN);
if (client.State != CommunicationState.Faulted)
{
client.Close(); // (timeout);
}
else
{
client.Abort();
}
}
catch (CommunicationException)
{
client.Abort();
}
catch (TimeoutException)
{
client.Abort();
}
return validSigning;
}