см. Также Почему я получаю InvalidCastException от OperationContext.Current.GetCallbackChannel <> ()
Я хочу передать свой собственный интерфейс в OperationContext.Current.GetCallbackChannel, поскольку я хочу делать асинхронные вызовы клиенту (-ам) и, следовательно, необходимо добавить «BeginMethod ()» и т. Д. В интерфейс.
Я могу исключение, сказав, что он не может быть приведен к интерфейсу, если я передам любой интерфейс, кроме того, который назван в ServiceContract для сервера, который я реализую.
например. У меня есть
<ServiceContract(CallbackContract:=GetType(IClient))>
На сервере контракт
И интерфейс, определенный как подкласс IClient, который добавляет «BeginMethod ()» и т. Д., Но я не могу запросить этот интерфейс у:
OperationContext.Current.GetCallbackChannel<IClientWithAsycMethods>()