0
я нашел, если я определил метод обратного вызова, какфункция обратного вызова не может принять объект в качестве параметра
void call(object o)
я получил следующую ошибку
Unhandled Exception: System.ServiceModel.CommunicationObjectFaultedException: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state.
При использовании
void call(string s)
затем его хороший. Кто-нибудь знает причину.
Ladislav, если у меня есть два класса, D и B, оба являются сериализуемыми. Могу ли я определить обратный вызов с помощью вызова (B b) и передать объект D? Я нашел в этом случае, я также сталкиваюсь с той же ошибкой. Кстати, есть ли у вас больше документации об этом? – user496949
Если у вас есть два разных класса, вам нужны два разных метода. Если D происходит от B, вы можете использовать единый метод, но вы также должны использовать KnownTypeAttribute в своем контракте данных B, чтобы информировать службу о типе D. Вы можете прочитать о контрактах данных здесь http://msdn.microsoft.com/en-us/library/ms733127.aspx –
Если я не могу изменить класс B (например, B является частью .Net Framework), могу ли я использовать единственный метод? – user496949