运行 ASP.NET 来自 UNC 的 IIS 上的 5(网络共享)

Running ASP.NET 5 on IIS from UNC (network share)

我正在使用 非常 的简单站点测试 ASP.NET 5 (dnx-coreclr-win-x64.1.0.0-rc1-update1),该站点显示登录页面 3 秒,然后重定向用户。它在本地工作并且在部署到 IIS 8(Windows 2012 R2)时工作,但如果发布的文件夹(approotlogswwwroot) 在 local 驱动器上。

如果我尝试从 UNC 共享 运行 Web 应用程序,我会在 stdout.log

中得到以下异常
Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.NativeMethods.uv_loop_init(UvLoopHandle handle)
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.loop_init(UvLoopHandle handle)
   at Microsoft.AspNet.Server.Kestrel.KestrelThread.ThreadStart(Object parameter)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

所有涉及的服务器都是同一个AD域的成员。应用程序池 运行 在非特权 AD 用户帐户下,该帐户对共享和基础文件夹具有 read/write 权限。

我们在负载平衡的 Web 服务器之间使用 UNC 共享。这使我们能够一次部署更改,所有服务器同时获得更改。多年来一直这样做没有问题,但对 DNX 的更新(支持,推荐)解决方案持开放态度。

这看起来像是一个错误。我已经在 github 上提出了一个问题,我们将对其进行调查。

你可以在这里关注它:https://github.com/aspnet/KestrelHttpServer/issues/671