WCF 4 закрыть клиентский прокси - PullRequest
2 голосов
/ 01 декабря 2010

В старые времена (.net framework 3.5) мы должны быть осторожны, чтобы закрыть клиентские прокси WCF.

В WCF 4 закрытие недоступно от клиента. Но он доступен внутри прокси.

public class ServiceProxy : System.ServiceModel.ClientBase<IService>, ILoginService
{
}

Закрытие прокси клиента больше не требуется? Или как нам это сделать?

1 Ответ

2 голосов
/ 01 декабря 2010

Прокси WCF необходимо явно закрыть, и если вы используете оператор using (), у вас есть возможность потерять исходное исключение. Вы можете найти подробности об этой проблеме в следующих сообщениях.

От: http://geekswithblogs.net/SudheersBlog/archive/2009/09/01/134430.aspx

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/b95b91c7-d498-446c-b38f-ef132989c154 http://geekswithblogs.net/marcel/archive/2007/05/01/112159.aspx

Рекомендуется всегда закрывать прокси, когда клиент использует его, потому что закрытие прокси завершает сеанс со службой и закрывает соединение.

Кроме того, вы можете использовать метод Dispose () прокси, чтобы закрыть его. Преимущество метода Dispose () заключается в том, что вы можете использовать оператор using для его вызова даже при наличии исключений

проверка

http://geekswithblogs.net/SoftwareDoneRight/archive/2008/05/23/clean-up-wcf-clients--the-right-way.aspx

http://geekswithblogs.net/bcaraway/archive/2008/07/06/123622.aspx

...