在以前的.Net
控制台应用程序中,我们可以通过在407
中包含以下内容来避免代理app.config
错误:
<system.net>
<defaultProxy useDefaultCredentials="true"/>
</system.net>
.Net Core
控制台应用没有app.config
- 我们怎么能这样做呢?
专门针对Azure DocumentDB DocumentClient
。
答案 0 :(得分:2)
VMAtm的答案对我没有任何帮助。这为我在Core 3.1上解决了这个问题:
var handler = new HttpClientHandler();
handler.DefaultProxyCredentials = CredentialCache.DefaultCredentials;
using(var client = new HttpClient(handler))
{
HttpResponseMessage response = await client.SendAsync();
}
答案 1 :(得分:0)
现在看起来Azure
导向的团队没有实现这样的功能。以下是Azure AD library最近github问题的链接,其中说明了
- 目前,ADAL for .NET不支持
WebProxy
配置。- 请在系统级别配置代理。 Adal使用的
Httpclient
应该可以使用它。- 制作团队计划在未来版本中添加此功能,但目前他们没有估计时间。
据我所知,Microsoft.Azure.Documents.Client
命名空间或Microsoft.Azure.Documents
命名空间中没有这样的功能,所以现在你必须在系统级别解决它。您可以创建github issue或通过MSDN或email与小组联系。
对于常规.Net Core
应用,您可以使用HttpClientHandler
类'DefaultProxyCredentials
属性,因此code will be like this:
var handler = new HttpClientHandler { UseDefaultCredentials = true };
using (var client = new HttpClient(handler))
{
// http call here
}