【发布时间】:2016-11-09 18:10:17
【问题描述】:
我希望通过 C# 将消息发送到服务代理队列。我正在发送这样的命令:
string send = String.Format("BEGIN TRANSACTION; BEGIN DIALOG {0} FROM SERVICE [/AVAILH/xml/InitService] TO SERVICE N'/AVAILH/xml/CreateFile' ON CONTRACT [/AVAILH/xml/Contract] WITH ENCRYPTION = OFF; SEND ON CONVERSATION {0} MESSAGE TYPE [/AVAILH/xml/CreateFile] ({1}); COMMIT TRANSACTION; GO", runID, xmlMessage);
ThreadPool.QueueUserWorkItem(delegate
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
using(SqlCommand command = new SqlCommand(send, conn))
{
conn.Open();
command.ExecuteNonQuery();
}
}
});
但是,当它再次被调用时,我得到一个错误。
System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的未处理异常
附加信息:“2”附近的语法不正确。
关键字 'with'(....) 附近的语法不正确
我只是想找出一种将消息发送到队列的简单方法,这将重复发生。
我们将不胜感激任何帮助或指导!
【问题讨论】:
标签: c# sql service-broker