gpt4 book ai didi

asp.net-core-mvc - ASP.NET MVC6 Beta 8 和 Windows 身份验证

转载 作者:行者123 更新时间:2023-12-02 17:25:01 25 4
gpt4 key购买 nike

升级到 Beta 8 后,使用 Windows 身份验证进行调试在 IIS Express 中不起作用。我收到错误

"An error occurred attempting to determine the process id of the DNX process hosting your application."

重现步骤:.

  1. 创建一个新项目并选择空网页模板。
  2. 在项目设置中,将 IIS Express 设置更改为使用 Windows 身份验证。取消选中匿名身份验证。
  3. 启用 SSL。
  4. 调试项目。
  5. 出现错误。

我正在使用新安装的 Windows 和 Visual Studio。除了 installation files 之外,我还需要下载任何其他软件吗? ?

最佳答案

正如评论中所指出的,有一个 open tooling issue for this bug 。同时,我已经能够使用 WebListener 成功调试,这需要以下两个更改:

Startup.cs

using Microsoft.AspNet.Http.Features;
using Microsoft.Net.Http.Server;

并在Configure方法中添加:

var listener = app.ServerFeatures.Get<WebListener>(); 
if (listener != null)
{
listener.AuthenticationManager.AuthenticationSchemes = AuthenticationSchemes.NTLM;
}

project.json 中添加一个新的 weblistener 命令,如下所示:

"commands": {
"weblistener": "Microsoft.AspNet.Server.WebListener --config hosting.ini",
"web": "Microsoft.AspNet.Server.Kestrel"
},

并确保您的依赖项部分中有WebListener

"Microsoft.AspNet.Server.WebListener": "1.0.0-beta8",

当我从 beta 7 升级时,我必须将 Hosting.ini 文件更改为 json 格式 - 不知道这是否重要!

完成此操作后,您应该能够使用 Weblistener 而不是 IIS Express 进行调试。使用 web(即 kestrel)进行调试不起作用,因为 kestrel 不(也不会)支持 NTLM 身份验证。

我发现,如果我直接在 project.json 中更改“web”命令,Visual Studio 会相当积极地将其更改回 kestrel,因此添加一个单独的命令 as recommended by the Microsoft team似乎让一切都幸福。

关于asp.net-core-mvc - ASP.NET MVC6 Beta 8 和 Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33192887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com