Состояние соединения SoapHttpClientProtocol / HttpWebClientProtocol - PullRequest
3 голосов
/ 22 октября 2010

У меня есть ссылка на WebService (.NET CF 3.5) на основе SoapHttpClientProtocol.Мой вопрос - есть ли способ определить, установлено ли соединение с WebService, кроме вызова веб-метода?Могу ли я в любое время проверить, установлено ли базовое соединение, и получить его статус?

С уважением

Ответы [ 2 ]

1 голос
/ 14 мая 2011

Вы можете проверить состояние связи на клиенте.

using (XServiceSoapClient client = new XServiceSoapClient())
{
   client.State;
}

public enum CommunicationState
{
    // Summary:
    //     Indicates that the communication object has been instantiated and is configurable,
    //     but not yet open or ready for use.
    Created = 0,
    //
    // Summary:
    //     Indicates that the communication object is being transitioned from the System.ServiceModel.CommunicationState.Created
    //     state to the System.ServiceModel.CommunicationState.Opened state.
    Opening = 1,
    //
    // Summary:
    //     Indicates that the communication object is now open and ready to be used.
    Opened = 2,
    //
    // Summary:
    //     Indicates that the communication object is transitioning to the System.ServiceModel.CommunicationState.Closed
    //     state.
    Closing = 3,
    //
    // Summary:
    //     Indicates that the communication object has been closed and is no longer
    //     usable.
    Closed = 4,
    //
    // Summary:
    //     Indicates that the communication object has encountered an error or fault
    //     from which it cannot recover and from which it is no longer usable.
    Faulted = 5,
}
0 голосов
/ 14 мая 2011

Я почти уверен, что соединение не установлено, если вы не вызываете метод в интерфейсе. Тем более, что связь основана на HTTP.

В проекте, над которым я работал, я фактически создал метод NOP на сервере, который мог вызвать мой клиент. Я использовал это, чтобы определить, являются ли предоставленная информация о соединении и учетные данные действительными (используя блок try-catch).

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