自托管网站 api windows 服务权限

Self hosted web api on windows service permissions

我在我的 windows 服务中托管 Web Api,我在从 windows 服务启动 Web Api 服务时遇到问题,这是个例外我在调试它时得到的:

System.AggregateException occurred HResult=-2146233088 Message=One or more errors occurred. Source=mscorlib StackTrace: .... InnerException: HResult=-2146233087 Message=HTTP could not register URL http://+:1243/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). Source=System.ServiceModel.Internals ......

如果我在控制台应用程序中托管相同的 Web 服务,则一切正常。如何为我的 windows 服务设置启动 Web 服务的权限?

提前致谢...

与在 IIS 下托管(为您处理此问题)不同,在自托管时,您需要为正在收听的 URL 用户创建 ACL 运行 作为。像这样(来自特权命令行):-

netsh http add urlacl http://+:1234/ user=LocalService

我没有具体尝试使用 LocalService 进行上述操作,但在侦听 localhost 以外的任何内容时这是必需的。

更多信息可用here