本文整理汇总了C#中System.ServiceModel.Channels.Binding.BuildChannelFactory方法的典型用法代码示例。如果您正苦于以下问题:C# Binding.BuildChannelFactory方法的具体用法?C# Binding.BuildChannelFactory怎么用?C# Binding.BuildChannelFactory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ServiceModel.Channels.Binding
的用法示例。
在下文中一共展示了Binding.BuildChannelFactory方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SendMessages
private static async void SendMessages(Binding binding, int messageCount, string address)
{
var factory = binding.BuildChannelFactory<IDuplexSessionChannel>();
try
{
factory.Open();
var channel = factory.CreateChannel(new EndpointAddress(address));
channel.Open();
Console.WriteLine("Channel should be connected by now...");
var sendBytes = Encoding.ASCII.GetBytes("Hello WCF over a channel");
var message = Message.CreateMessage(binding.MessageVersion, "action", sendBytes);
var clone = message.CreateBufferedCopy(int.MaxValue);
for (int i = 0; i < messageCount; i++)
{
await Task.Factory.FromAsync(channel.BeginSend(clone.CreateMessage(), null, null), channel.EndSend);
}
channel.Close();
}
finally
{
factory.Close();
}
}
示例2: DuplexChannelManager
public DuplexChannelManager(int connections, int messageRate, Binding binding, string address, MessageBuffer messageBuffer = null)
{
_connections = connections;
_rate = messageRate;
_factory = binding.BuildChannelFactory<IDuplexSessionChannel>();
_address = new EndpointAddress(address);
_messageBuffer = messageBuffer ?? Message.CreateMessage(binding.MessageVersion, "TestAction", new byte[1024]).CreateBufferedCopy(int.MaxValue); ;
_factory.Open();
}