Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure VM中的SQL Service Broker_C#_Sql Server_Web Services_Azure Virtual Machine_Service Broker - Fatal编程技术网

C# Azure VM中的SQL Service Broker

C# Azure VM中的SQL Service Broker,c#,sql-server,web-services,azure-virtual-machine,service-broker,C#,Sql Server,Web Services,Azure Virtual Machine,Service Broker,我已在运行Windows Server并安装了SQL Server的Azure VM中启用Service Broker。该问题尽管看起来服务正在运行,但它不会通过“SqlDependecy”触发返回IIS网站的通知。请注意,这在开发PC中起作用,但在Azure VM中不确定为什么不起作用,什么可以阻止触发通知 尝试: SELECT * FROM sys.service_queues -- ok SELECT is_broker_enabled FROM sys.databases WHERE n

我已在运行Windows Server并安装了SQL Server的Azure VM中启用Service Broker。该问题尽管看起来服务正在运行,但它不会通过“
SqlDependecy
”触发返回IIS网站的通知。请注意,这在开发PC中起作用,但在Azure VM中不确定为什么不起作用,什么可以阻止触发通知

尝试:

SELECT * FROM sys.service_queues -- ok
SELECT is_broker_enabled FROM sys.databases WHERE name = 'Database_name'; -- ok
ALTER AUTHORIZATION ON DATABASE::[Database_name] TO [sa] -- no difference
SELECT transmission_status, * FROM sys.transmission_queue -- empty

虽然SqlDependency使用ServiceBroker,但它也为调试过程增加了很多内容。您是否尝试过向服务发送普通消息(即,使用本地实例的
send
语句)?由于在日志中看到两个主密钥错误,因此启用了数据库可信。然后在网站中,删除事件“sqlDep.OnChange-=sqlDependency\u OnChange;”然后在读取通知时重新注册,并添加带SqlDependency.Stop(conn)的受保护的无效应用程序_End(),删除了日志中的另一个错误“会话句柄上的查询通知对话框因…而关闭”;但传输队列仍然是空的,还没有乐趣。我在上面建议的是将您的应用程序完全排除在等式之外。您能否通过原始SQL向队列发送消息?能够发送SB消息是SqlDependency的先决条件。尝试你能做的最不复杂的事情,并以此为基础。