从UNC(网络共享)在IIS上运行ASP.NET 5

时间:2016-03-03 16:20:33

标签: asp.net-core iis-8 dnx

我正在使用非常简单网站测试ASP.NET 5dnx-coreclr-win-x64.1.0.0-rc1-update1),该网站会显示3秒的着陆页,然后重定向用户。它在本地运行,在部署到 IIS 8 (Windows 2012 R2)时可以正常工作,但如果已发布的文件夹(approotlogswwwroot)位于本地驱动器上。

如果我尝试从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用户帐户下运行,该帐户具有对共享和基础文件夹的读/写权限。

我们在负载均衡的Web服务器之间使用UNC共享。这允许我们在所有服务器同时进行更改的情况下部署一次更改。多年来一直这样做没有问题,但开放给DNX的新的(支持的,推荐的)解决方案。

1 个答案:

答案 0 :(得分:1)

这看起来像个错误。我在github上打开了一个问题,我们正在调查它。

您可以在此处关注:https://github.com/aspnet/KestrelHttpServer/issues/671