本文整理汇总了C#中OperationContext.SetGetter方法的典型用法代码示例。如果您正苦于以下问题:C# OperationContext.SetGetter方法的具体用法?C# OperationContext.SetGetter怎么用?C# OperationContext.SetGetter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OperationContext
的用法示例。
在下文中一共展示了OperationContext.SetGetter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetupOperationConext
private OperationContext SetupOperationConext(IRpcCallInfo call, MessageRequest request, Type contractType)
{
var operationContext = new OperationContext { SessionId = request.Session };
if (request.Session != null)
{
if (_duplex)
{
lock (_clients)
{
RpcCallbackChannelFactory channelFactory = null;
bool contains = _clients.TryGetValue(request.Session, out channelFactory);
if (!contains)
{
var contract = AttributesReader.GetServiceContract(contractType);
channelFactory = new RpcCallbackChannelFactory(_endpoint._binding,
contract.CallbackContract, new Guid(request.Session),
true);
_clients[request.Session] = channelFactory;
}
var callbackBindingInfo = EndpointMapper.WcfToRpc(_endpoint._address);
if (!call.IsClientLocal)
{
//BUG: callbacks accross network does not work
//callbackAddress.NetworkAddr = call.ClientAddress
}
callbackBindingInfo.EndPoint += request.Session.Replace("-", "");
operationContext.SetGetter(_clients[request.Session], EndpointMapper.RpcToWcf(callbackBindingInfo));
}
}
}
return operationContext;
}