本文整理汇总了C#中IDataService.Process方法的典型用法代码示例。如果您正苦于以下问题:C# IDataService.Process方法的具体用法?C# IDataService.Process怎么用?C# IDataService.Process使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IDataService
的用法示例。
在下文中一共展示了IDataService.Process方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SendCommand
private PqlMessage SendCommand(IDataService channel, DataRequest dataRequest, DataRequestParams dataRequestParams, DataRequestBulk dataRequestBulk)
{
var authContext = m_connection.ClientSecurityContext;
if (authContext == null)
{
throw new InvalidOperationException("Authentication context is not set on the thread");
}
if (string.IsNullOrWhiteSpace(authContext.TenantId))
{
throw new InvalidOperationException("Current authentication context does not have value for TenantId");
}
Message responseMessage;
using (var holder = PqlDataConnection.CommandStreams.Take(m_connection.CancellationTokenSource.Token))
{
holder.Item.Attach(dataRequest, dataRequestParams, dataRequestBulk);
var requestMessage = new PqlMessage(
holder.Item, new IDisposable[] {holder},
AuthContextSerializer.GetString(authContext),
m_connection.ConnectionProps.ScopeId,
m_connection.ConnectionProps.ProtocolVersion);
responseMessage = channel.Process(requestMessage);
}
var pqlMessage = responseMessage as PqlMessage;
if (pqlMessage != null)
{
return pqlMessage;
}
throw new DataException(string.Format(
"Message must be of type {0}. Actual type that came from WCF transport was {1}",
typeof(PqlMessage).AssemblyQualifiedName,
responseMessage.GetType().AssemblyQualifiedName));
}