本文整理汇总了C#中IClient.CreateSession方法的典型用法代码示例。如果您正苦于以下问题:C# IClient.CreateSession方法的具体用法?C# IClient.CreateSession怎么用?C# IClient.CreateSession使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IClient
的用法示例。
在下文中一共展示了IClient.CreateSession方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateChannel
protected IClientSession CreateChannel(IClient client)
{
AssertUtils.ArgumentNotNull(client, "connection must not be null");
//TODO configure timeout.
IClientSession session = client.CreateSession(50000);
if (ChannelTransacted)
{
session.TxSelect();
}
return session;
}
示例2: PerfTestClient
protected PerfTestClient(Options options)
{
_options = options;
_connection = new Client();
_connection.Connect(options.Broker, options.Port, "test", "guest", "guest");
_session = _connection.CreateSession(50000);
}
示例3: ServerStart
/// <summary>
/// Called when Excel requests the first RTD topic for the server.
/// Connect to the broker, returns a on success and 0 otherwise
/// </summary>
/// <param name="CallbackObject"></param>
/// <returns></returns>
public int ServerStart(IRTDUpdateEvent CallbackObject)
{
_onMessage = CallbackObject;
string host = "localhost";
string port = "5673";
string virtualhost = "test";
string username = "guest";
string password = "guest";
_messageProcessor = getMessage;
if( ConfigurationManager.AppSettings["Host"] != null )
{
host = ConfigurationManager.AppSettings["Host"];
}
if (ConfigurationManager.AppSettings["Port"] != null)
{
port = ConfigurationManager.AppSettings["Port"];
}
if (ConfigurationManager.AppSettings["VirtualHost"] != null)
{
virtualhost = ConfigurationManager.AppSettings["VirtualHost"];
}
if (ConfigurationManager.AppSettings["Username"] != null)
{
username = ConfigurationManager.AppSettings["UserName"];
}
if (ConfigurationManager.AppSettings["Password"] != null)
{
password = ConfigurationManager.AppSettings["Password"];
}
if (ConfigurationManager.AppSettings["ProcessorAssembly"] != null)
{
try
{
Assembly a = Assembly.LoadFrom(ConfigurationManager.AppSettings["ProcessorAssembly"]);
Object o = a.CreateInstance(ConfigurationManager.AppSettings["ProcessorClass"]);
MessageProcessor p = (MessageProcessor) o;
_messageProcessor = p.ProcessMessage;
}
catch (Exception e)
{
System.Windows.Forms.MessageBox.Show("Error: \n" + e.StackTrace);
return 0;
}
}
System.Windows.Forms.MessageBox.Show("Connection parameters: \n host: " + host + "\n port: "
+ port + "\n user: " + username);
try
{
_client = new Client();
_client.Connect(host, Convert.ToInt16(port), virtualhost, username, password);
// create a session
_session = _client.CreateSession(0);
}
catch (Exception e)
{
System.Windows.Forms.MessageBox.Show("Error: \n" + e.StackTrace);
return 0;
}
// always successful
return 1;
}
示例4: TryToConnect
protected void TryToConnect() {
reqsOutstanding = 1 ;
Agent newAgent = new Agent(this,0,"BrokerAgent") ;
Agents.Add(newAgent.AgentKey(), newAgent) ;
client = new Client() ;
client.Connect(url.Hostname, url.Port, null, url.AuthName, url.AuthPassword) ;
clientSession = client.CreateSession(timeout) ;
//clientSession.SetAutoSync(false) ;
string name = System.Text.Encoding.UTF8.GetString(clientSession.GetName()) ;
replyName = "reply-" + name ;
topicName = "topic-" + name ;
clientSession.SetAutoSync(true) ;
Option[] options = new Option[] {Option.EXCLUSIVE, Option.AUTO_DELETE} ;
// This queue is used for responses to messages which are sent.
clientSession.QueueDeclare(replyName,options) ;
clientSession.ExchangeBind(replyName,"amq.direct",replyName) ;
clientSession.AttachMessageListener(this, "rdest") ;
clientSession.MessageSubscribe(replyName,"rdest",MessageAcceptMode.NONE,MessageAcquireMode.PRE_ACQUIRED,null,0,null) ;
clientSession.MessageSetFlowMode("rdest", MessageFlowMode.WINDOW);
clientSession.MessageFlow("rdest", MessageCreditUnit.BYTE, ClientSession.MESSAGE_FLOW_MAX_BYTES);
clientSession.MessageFlow("rdest", MessageCreditUnit.MESSAGE, ClientSession.MESSAGE_FLOW_MAX_BYTES);
// This queue is used for unsolicited messages sent to this class.
clientSession.QueueDeclare(topicName, options) ;
clientSession.AttachMessageListener(this, "tdest") ;
clientSession.MessageSubscribe(topicName,"tdest",MessageAcceptMode.NONE,MessageAcquireMode.PRE_ACQUIRED,null,0,null) ;
clientSession.MessageSetFlowMode("tdest", MessageFlowMode.WINDOW);
clientSession.MessageFlow("tdest", MessageCreditUnit.BYTE, ClientSession.MESSAGE_FLOW_MAX_BYTES);
clientSession.MessageFlow("tdest", MessageCreditUnit.MESSAGE, ClientSession.MESSAGE_FLOW_MAX_BYTES);
outSession = client.CreateSession(timeout) ;
outSession.ExchangeBind(replyName,"amq.direct",replyName) ;
connected = true ;
consoleSession.HandleBrokerConnect(this) ;
IEncoder encoder = CreateEncoder() ;
this.SetHeader(encoder, 'B', 0) ;
this.Send(encoder) ;
}