从 Web api 向 Azure 服务总线队列发送消息
send message to azure service bus queue from web api
我正在尝试开始使用 Azure 服务总线队列。关注这篇文章
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues
唯一的区别是我试图从网络 api.
中执行此操作
我得到的错误是:
无法建立连接,因为目标机器主动拒绝 40.84.xxx.xx:443
如有任何帮助或指点,我将不胜感激!
注意:按照上述指南,控制台应用程序运行良好。
7 月 24 日更新,这是我的操作方法中的代码:
try
{
var connectionString =
"Endpoint=sb://xxxxx-test.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=shared_access_key";
var queueName = "testqueue1";
var client =
QueueClient.CreateFromConnectionString(connectionString, queueName);
var message = new BrokeredMessage(eventMessage);
client.Send(message);
}
catch (Exception e)
{
//log exception
}
7 月 25 日更新。我能够通过在 web.config:
中启用 defaultConfig 条目来使其工作
<system.net>
<defaultProxy enabled="true"/>
</system.net>
No connection could be made because the target machine actively refused it 40.84.xxx.xx:443
请检查出站443端口是否被防火墙屏蔽
Note: Console app works just fine following the above guide.
服务总线连接模式的默认值为自动检测。它将根据自动检测机制自动在 Tcp 和 Http 模式之间进行选择,该机制会探测任一连接选项是否适用于当前网络环境。它可能会为您的控制台应用程序和 Web API 应用程序选择不同的模式。在使用服务总线队列之前,尝试在 Web API 应用程序中将其显式设置为 TCP。
ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Tcp;
我能够通过在 web.config 中启用 defaultConfig 条目来使其工作:
<system.net>
<defaultProxy enabled="true"/>
</system.net>
我正在尝试开始使用 Azure 服务总线队列。关注这篇文章
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues
唯一的区别是我试图从网络 api.
中执行此操作
我得到的错误是:
无法建立连接,因为目标机器主动拒绝 40.84.xxx.xx:443
如有任何帮助或指点,我将不胜感激!
注意:按照上述指南,控制台应用程序运行良好。
7 月 24 日更新,这是我的操作方法中的代码:
try
{
var connectionString =
"Endpoint=sb://xxxxx-test.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=shared_access_key";
var queueName = "testqueue1";
var client =
QueueClient.CreateFromConnectionString(connectionString, queueName);
var message = new BrokeredMessage(eventMessage);
client.Send(message);
}
catch (Exception e)
{
//log exception
}
7 月 25 日更新。我能够通过在 web.config:
中启用 defaultConfig 条目来使其工作 <system.net>
<defaultProxy enabled="true"/>
</system.net>
No connection could be made because the target machine actively refused it 40.84.xxx.xx:443
请检查出站443端口是否被防火墙屏蔽
Note: Console app works just fine following the above guide.
服务总线连接模式的默认值为自动检测。它将根据自动检测机制自动在 Tcp 和 Http 模式之间进行选择,该机制会探测任一连接选项是否适用于当前网络环境。它可能会为您的控制台应用程序和 Web API 应用程序选择不同的模式。在使用服务总线队列之前,尝试在 Web API 应用程序中将其显式设置为 TCP。
ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Tcp;
我能够通过在 web.config 中启用 defaultConfig 条目来使其工作:
<system.net>
<defaultProxy enabled="true"/>
</system.net>