C# 为什么控制台应用默认使用代理?
我目前在类库中遇到了一些问题,它不能作为控制台应用程序使用 console应用程序的目的是将消息发送到azure队列,这样做没有任何问题,并且可以在ressource monitor中看到它通过我们的web代理和azure队列进行调用。这是默认完成的,我没有告诉它应该使用这个代理 另一方面,类库也做同样的事情,但不使用代理,因此无法发送其数据 这两个项目在调用发送消息的方式上是相同的,但出于某种原因,console应用程序(其意图仅发送消息)和library(其意图相同)的行为是不同的-为什么console应用程序尝试使用代理,以及我如何强制类库强制使用代理 结论: 如何强制Microsoft.ServiceBus.Messaging.QueueClient.sendC# 为什么控制台应用默认使用代理?,c#,azure,proxy,C#,Azure,Proxy,我目前在类库中遇到了一些问题,它不能作为控制台应用程序使用 console应用程序的目的是将消息发送到azure队列,这样做没有任何问题,并且可以在ressource monitor中看到它通过我们的web代理和azure队列进行调用。这是默认完成的,我没有告诉它应该使用这个代理 另一方面,类库也做同样的事情,但不使用代理,因此无法发送其数据 这两个项目在调用发送消息的方式上是相同的,但出于某种原因,console应用程序(其意图仅发送消息)和library(其意图相同)的行为是不同的-为什么c
据我所知,要使用代理而不是端口443,在使用service bus client时无法设置代理 Service Bus客户端的唯一连接选项如下所示: HTTP-端口80 HTTPS-端口443 TCP-9350至9354 有关更多信息,我们可以参考: 在类库中,请按以下代码将连接模式设置为Http,然后重试:
ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;
类似于您的帖子:来回答我自己的问题 我通过创建proxy.config解决了这个问题,并将其添加到我的app.config中 proxy.config格式:
<?xml version="1.0"?>
<defaultProxy enabled="true">
<proxy autoDetect="False" proxyaddress="http://<proxyaddress>:<port>" />
<bypasslist>
<add address="localhost" />
</bypasslist>
</defaultProxy>
并将proxy.config作为system.net配置添加到my app.config中:
<system.net>
<defaultProxy configSource="proxy.config" />
</system.net>