Как переопределить ServiceHost в WCF? - PullRequest
0 голосов
/ 18 октября 2010

Объект связи, ExtendingWCFwithServiceHost.clsMyOwnHost, переопределил виртуальную функцию OnOpening, но не вызывает версию, определенную в базовом классе.

Я получаю эту ошибку при переопределении метода OnOpening класса ServiceHost.

1 Ответ

2 голосов
/ 18 октября 2010

Сообщение об ошибке объясняет проблему - вы переопределяете метод OnOpening, но не вызываете базовую реализацию.Ваше переопределение должно выглядеть следующим образом:

protected override OnOpening()
{
    //additional processing
    base.OnOpening();
}

Эта страница объясняет конечный автомат ICommunicationObject и говорит:

While System.ServiceModel.Channels.CommunicationObject.OnOpen (System.TimeSpan), System.ServiceModel.Channels.CommunicationObject.OnClose (System.TimeSpan) и System.ServiceModel.Channels.CommunicationObject.OnAbort не имеют реализации по умолчанию, для других обратных вызовов необходима реализация по умолчанию, для которой необходима реализация по умолчанию.для правильности конечного автомата.Если вы переопределяете эти методы, обязательно вызовите базовую реализацию или правильно замените ее.

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