首页 > 解决方案 > 默认代理 ASP.NET Core Web API

问题描述

我需要配置默认代理以启用 Application Insights。在 ASP.NET Web Api 中,可以在 web.config 中设置默认代理,如下所示:

  <system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
      <proxy proxyaddress="someaddress" bypassonlocal="True" />
    </defaultProxy>
  </system.net>

使用此设置 AI 可以正常工作。不幸的是,我找不到在 appsettings.json 中设置代理的选项。是否有可能在 ASP.NET Core Web API 中定义默认代理?

或者当应用程序托管时,我是否必须在 IIS 中配置代理?

编辑: 我现在设置默认代理是这样的:

    WebRequest.DefaultWebProxy = new WebProxy(new Uri("someaddress"), true)
    {
        UseDefaultCredentials = true
    };

获取代理时

WebRequest.DefaultWebProxy.GetProxy(new Uri("https://dc.services.visualstudio.com/v2/track"))

它返回正确的代理。

Fiddler 运行时会发生奇怪的事情。一旦 Fiddler 运行,应用程序就会成功登录到 AI。关闭 Fiddler 时,日志记录再次中断。

有人有想法吗?

标签: c#proxyasp.net-core-webapi

解决方案


也许您的流量正在通过 Fiddler 代理,所以当 Fiddler 关闭时,您与其他服务的连接。


推荐阅读