我有一个WCF服务合同,内容如下:
[ServiceContract(Name = "DummyService") ]
public interface IDummyService {
[OperationContract]
void DoSomething();
[OperationContract(Name = "SayHello")]
string SayHello(string message);
}
WCF服务将由Silverlight应用程序使用。我正在寻找一种方法来消除手动编写异步合同的需要,这样我就可以通过ChannelFactory生成的代理来消费它。
我正在考虑编写一个专门的调用类。示例用法如下:
// create the invoker using the endpoint config and the existing sync contract
var client = new ServiceInvoker<IDummyService>("LeyDummyService_Endpoint");
// invoke the desired service method set the callback, very similar to how
// JQuery does AJAX calls...
client.Invoke(dummyService => dummyService.SayHello("harley"),
(result) => MessageBox.Show(result));
有没人试过这个?这甚至可能吗?