我有一个Web服务和一个Web服务客户端。
我正在使用双面模式。
客户端中有一个名为“id”的字段设置为某个值。客户端代码如下所示。
string id = "foobar";
InstanceContext context = new InstanceContext(this);
CalcClient client = new CalcClient(context);
如何在Webservice中访问字段“id”。
在服务器端,我通过以下方式获得回拨频道。
ICalcServiceCallback callback = OperationContext.Current.GetCallbackChannel<ICalcServiceCallback>();
我需要在服务器中访问“id”。
谢谢,
答案 0 :(得分:0)
不确定是否可能,WCF双工服务肯定不是为此而设计的!
您可以在回调合约中定义一个返回ID字符串的新操作合约,尽管回调合约旨在让服务器通知客户端某些事件已经发生,作为实现WCF事件的一种方式,例如:客户端订阅服务器,服务器定期向客户端发布更新。
正因如此,大多数回调操作都设置为单向操作。请仔细阅读这篇MSDN文章,它有点陈旧但仍然相关,并告诉您在WCF中需要了解的有关双工服务的所有信息。