小编Sio*_*Sio的帖子

如何在使用HttpClient类时对代理进行身份验证?

我有一个基于.NET 4构建的控制台应用程序,它使用HttpClient库(通过NuGet获取)通过Internet从公共API检索数据.控制台应用程序位于代理后面.它所在的Windows机器在Internet Explorer中具有正确的代理设置.当控制台应用程序尝试访问外部世界时,它将获得407状态 - "需要代理身份验证".

我还没有写任何特定的代码来处理代理.我假设从407错误,应用程序指向代理没有问题,但代理不验证请求.

我的问题是,是否可以设置HttpClient使用登录用户的凭据来验证代理?如果是这样,怎么样?

var client = new HttpClient(webRequestHandler);
client.PostAsync(RequestUri, MyContent);
Run Code Online (Sandbox Code Playgroud)

.net proxy httpclient .net-4.0

17
推荐指数
2
解决办法
9737
查看次数

如何获取Git中提交范围内的存储库中修改的文件的唯一列表?

我想从git存储库中获取已在一系列提交中修改或创建的文件列表.这可能吗?我已经看过了,log但它似乎没有实现这一目标.

git

9
推荐指数
1
解决办法
867
查看次数

为什么 Docker 平台抽象不允许我运行这个 amd64 镜像?

据微软称,他们的 Cosmos DB docker 镜像不能在 Apple Mac M1 芯片上运行。然而,我一直相信我可以通过--platform linux/amd64选项运行针对不同架构的图像。这适用于我尝试过的图像,但对于 Cosmos 图像,我遇到了相同的与拱门相关的错误。

./palrun: ERROR: Invalid mapping of address 0x40037dd000 in reserved address space below 0x400000000000. Possible causes:
1) the process (itself, or via a wrapper) starts-up its own running environment sets the stack size limit to unlimited via syscall setrlimit(2);
2) the process (itself, or via a wrapper) adjusts its own execution domain and flag the system its legacy personality via syscall personality(2);
3) sysadmin deliberately sets …
Run Code Online (Sandbox Code Playgroud)

docker azure-cosmosdb

7
推荐指数
0
解决办法
950
查看次数

MediaElement可播放哪些类型的视频?

我正在寻找有关什么决定MediaElement可以播放的媒体格式的详细信息,我似乎无法找到任何明确的来源.我读过某个地方,如果它可以在WMP MediaElement中播放,那么可以播放它.这是真的?如果是,那么我的下一个问题是我在哪里可以找到WMP的功能和限制?WPF MediaElement和WMP 之间的联系在哪里?我正在寻找对WPF中这些组件和视频播放的更好理解,并且到目前为止还很难在网上找到任何东西.

.net wpf video mediaelement windows-media-player

6
推荐指数
1
解决办法
2805
查看次数

为什么Git会将一个随机的,不存在的目录或文件报告为未跟踪的文件?

在回购中进行一些更改后,当我运行时,git status我得到以下内容:

未跟踪文件:(使用"git add ..."包含将要提交的内容)

   "etting\357\200\233\357\200\233\357\200\233\357\200\233\357\200\272"
Run Code Online (Sandbox Code Playgroud)

该文件不存在.我不确定看似随机数字的来源.奇怪的是,它也被引号括起来.状态也正确显示我修改的文件.

什么可能导致这个?我之前已经发生了几次并且不得不执行重置以返回到正确的状态.回购有可能以某种方式被破坏吗?

git

6
推荐指数
1
解决办法
541
查看次数

ASP.NET中的ConfigureAwait(false)的行为是什么?

我试图理解ConfigureAwait(false)ASP.NET中的行为.特别是如果我没有await结果.我的意思的一个例子:

var result = DoSomethingAsync().ConfigureAwait(false);

// do some things other things here. Is our task executing simultaneously?

await result;
Run Code Online (Sandbox Code Playgroud)

从我所读到的,在ASP.NET(不是核心)的上下文中,我理解:

  • ConfigureAwait(false)将阻止在返回应用程序流时重新创建上下文.如果未指定,则仍可以在与原始文件不同的线程上恢复上下文.
  • ConfigureAwait(false)将使用默认的线程池调度程序,并且AspNetSynchronizationContext将不再涉及.
  • 在ASP.NET(非核心)中,AspNetSynchronizationContext确保所有任务按顺序运行(不是并行运行),但每个任务可以在不同的线程上运行.
  • 在单个请求的上下文中进行并行执行是不可取的,因为它会影响ASP.NET线程池启发式,而并行化则以处理并行请求的形式出现.使用任务可防止在IO操作期间阻止线程.

假设我所说的一切都是正确的,上面的代码示例会发生什么?从我所读到的,这段代码将导致并行化.如果这是真的,那么这会被认为是非常危险的ASP.NET,每个请求窃取多个线程?

如果不是这样,为什么不呢?什么是同步任务AspNetSynchronizationContext之后不再涉及给定ConfigureAwait(false)

更新:

在我的第三点使用"顺序"这个词是不正确的.我应该说的是"任务将一次运行一个".对我而言,这意味着不是平行的.这取自本文中的信息.下表三分之二描述了每个同步上下文的功能.ASP.NET同步上下文一次执行一个任务.https://msdn.microsoft.com/en-us/magazine/gg598924.aspx

鉴于ConfigureAwait(false)将继续执行远离ASP.NET同步上下文并执行默认上下文(一次不执行一个),这是否可能(但不一定)导致请求使用超过一个线程同时

或者我在这里完全误解了什么?

更新2:

我在下面问了一个更简洁的问题:

在ASP.NET Classic中,ConfigureAwait(false)会导致continuation在多个线程上并行执行吗?

.net c# asp.net multithreading task

5
推荐指数
1
解决办法
583
查看次数

我可以指定一个 dll 以便在 Powershell 中使用 New-Object 吗?

我有一个场景,我需要New-Object一个类型,但有多个具有相同名称和命名空间的类型。New-Object当它存在于多个地方时,我无法找到如何决定从哪个 dll 创建类型。可以指定吗?理想情况下,我想将 dll 名称传递给 ,New-Object但似乎没有这个选项。

.net c# powershell

3
推荐指数
1
解决办法
855
查看次数