我在无状态Microsoft服务结构服务中使用以下代码来托管.net核心自我主机MVC应用程序,不幸的是,当我运行下面的代码时,我在Start()方法时收到错误“访问被拒绝”被称为。
如果我切换到使用Kestrel而不是WebListener,那么它很好。如果我将代码移动到标准控制台应用程序(即不使用服务结构),那就没关系。
如何让它与WebListener一起使用?
_host = new WebHostBuilder()
.UseUrls(listeningAddress)
.UseServer("Microsoft.AspNetCore.Server.WebListener")
.UseContentRoot(wwwroot)
.UseStartup<Startup>()
.Build();
// .UseKestrel()
_host.Start();
答案 0 :(得分:1)
您可能遇到urlacls问题:
netsh http add urlacl url=https://+:443/ user=Everyone
我目前有一些SF的东西,当它碰到OWIN Startup方法时需要设置urlacl,以免它在事件日志中抛出Access Denied以及一些无法找到OWIN Startup类的无用错误,然后是一些IIS中的东西,它在设置时给出了503错误。所以我正在部署SF的东西,然后在我的IIS之前运行netsh http delete urlacl url=https://+:443/
。
答案 1 :(得分:0)
我实际上是通过使用核心rc2版本和UseWebListener扩展而不是UseServer扩展
来实现的。