Должен ли я использовать клиентские прокси при необходимости или открыть их все в начале? - PullRequest
0 голосов
/ 26 января 2011

У меня есть клиентское приложение WCF, которое состоит из примерно 5 прокси-серверов, каждый из которых создает свои собственные соединения на протяжении всего жизненного цикла приложения. Продолжительность работы клиента совсем не велика (менее 1 минуты).

Сначала я просто вызывал метод на прокси, когда мне было нужно, что, кажется, избавило меня от необходимости вызывать "proxy.Open ()". Я полагаю, что прокси-сервер открывается автоматически после первого вызова метода.

Теперь мне было интересно, должен ли я явно вызывать «proxy.Open ()» для прокси, прежде чем я вызову метод для них? Кроме того, я должен открыть их все в начале клиентского приложения, тем более, что время выполнения составляет менее 1 минуты? Есть ли лучшая практика? Я очень ценю вашу помощь.

Ответы [ 2 ]

2 голосов
/ 26 января 2011

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

0 голосов
/ 26 января 2011

Открытие соединения обходится дешево, поэтому создание прокси-серверов каждый раз не вызовет серьезных проблем с производительностью.

Если ваша обработка исключений не является на 100% пуленепробиваемой, некоторые исключения могут перевести ваш прокси в состояние отказа. Если вы сохраняете один прокси-сервер для всех вызовов, перед каждым вызовом вам придется проверять его действительность. В этой ситуации вам могут помочь создание новых прокси для каждого звонка.

Примечание: исправление обработки исключений все еще является TODO.

С другой стороны, если ваша обработка исключений надежна и основана на FaultException, поддержание одного прокси должно подойти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...