У меня есть следующий код:System.ServiceModel.ClientBase подключен к службе
public partial class MyServiceClient : System.ServiceModel.ClientBase<...
if (m_MyClient == null)
m_MyClient = new MyServiceClient
("BasicHttpBinding_IMyService", remoteAddress);
WriteOutput("Successfully connected to service");
Мой вопрос, как я знаю, что мой клиент фактически подключен к услуге в этой точке? Я хотел бы показать сообщение о неудаче или успехе.
следующий код шахты: m_MyClient = новый MyServiceClient («BasicHttpBinding_IMyService», remoteAddress); никогда не вызывает исключения. Только когда я пытаюсь связаться с сервисом, я получаю исключение. Я хотел бы узнать сразу после этого кода, если мой клиент действительно подключен? – Tamer
@Tamer: ** WHAT ** исключение вы получаете ??? В WCF вы на самом деле не «подключены» - у вас есть канал для отправки сообщений, но нет никакого реального соединения, как с ADO.NET или что-то в этом роде ... –
Обновление: Следующий код: (m_MyClient как IClientChannel) .State == CommunicationState.Open сбоев. Правильная вещь: m_MyClient.State == CommunicationState.Open Теперь интересно то, что CommunicationState всегда создается. Его никогда не открывали, он всегда оставался Созданным. Он открывается только после того, как сообщение действительно произойдет. Как после того, как я позвоню: m_MyClient.GetComments(); , а затем я проверяю состояние, только тогда оно открыто. – Tamer