Я использую клиент WCF вот так ...
var client = new TestClient();
try
{
response = service.Operation(request);
}
finally
{
try
{
if (client.State != CommunicationState.Faulted)
client.Close();
}
catch (Exception)
{
client.Abort();
}
}
но время от времени я получаю 500 HTTP-ошибку, которая является единственным ответом, который я получаю в течение следующих 15 минут, затем все возвращается в нормальное состояние в течение 15 минут и так далее. Я знаю, что есть кое-что по балансировке нагрузки на стороне сервиса, но ребята там не могут найти никаких проблем с этим.
Вот почему я начал задаваться вопросом, правильно ли я использую службу WCF. Я уже однажды допустил ошибку, когда использовал «использование», чтобы закрыть соединение со службой, и боюсь, что я снова что-то сделал не так.
Так кто-нибудь может сказать, является ли мой способ вызова службы WCF правильным или нет во всех (даже самых редких) обстоятельствах?