C# 如何在使用SqlCommand/C时恢复ServiceBroker对话框句柄?
使用SQL Server的Service Broker时,必须C# 如何在使用SqlCommand/C时恢复ServiceBroker对话框句柄?,c#,sql-server,service-broker,C#,Sql Server,Service Broker,使用SQL Server的Service Broker时,必须开始对话框才能启动对话框。当通过SSMS等执行查询时,BEGIN对话框查询将对话框句柄放入变量中 不过,我正试图使用.NET的SqlCommand执行开始对话框查询。我想我希望用SqlCommand返回对话框句柄。然后,我可以在后续查询中使用该句柄 我没有办法让开始对话框查询返回句柄作为查询结果 如何通过.NET的SqlCommand执行BEGIN DIALOG查询,以获得该对话框句柄?您可以将输出参数与SqlCommand一起使用。
开始对话框
才能启动对话框。当通过SSMS等执行查询时,BEGIN对话框
查询将对话框句柄放入变量中
不过,我正试图使用.NET的SqlCommand
执行开始对话框
查询。我想我希望用SqlCommand
返回对话框句柄。然后,我可以在后续查询中使用该句柄
我没有办法让开始对话框
查询返回句柄作为查询结果
如何通过.NET的
SqlCommand
执行BEGIN DIALOG
查询,以获得该对话框句柄?您可以将输出参数与SqlCommand
一起使用。例如:
using (var cmd = new SqlCommand(@"BEGIN DIALOG CONVERSATION @dialog_handle FROM SERVICE ... TO SERVICE ... ON CONTRACT ...", connection)) {
var handleParam = new SqlParameter("dialog_handle", SqlDbType.UniqueIdentifier) {
Direction = ParameterDirection.Output
};
cmd.Parameters.Add(handleParam);
cmd.ExecuteNonQuery();
var dialogHandle = (Guid)handleParam.Value;
}
您可以创建一个存储过程并让它返回句柄吗?