我使用TopShelf作为Windows服务运行自托管的web api。我有一个针对TopShelf的app.config但没有针对我的web api的web.config。如果我添加web.config或向app.config添加设置(Web设置),我的web api都会忽略它们。
我需要设置以下内容:
<system.web><identity impersonate="true" /></system.web>
但我不知道在哪里设置它。
答案 0 :(得分:0)
您未在[{1}}中托管您的网络API,因此您不需要IIS
。
你不能使用:
web.config
,因为它特定于<system.web><identity impersonate="true" /></system.web>
(更多详情here)。
为什么不在Windows服务中设置凭据=&gt; &#34;登录&#34;配置?
或者,使用 TopShelf ,code:
ASP.NET
当然,您可以从HostFactory.New(x =>
{
x.RunAs("username", "password");
});
阅读username
和password
,也许可以加密这些值。
如果您想冒充其他用户,那么您可以做的不多,只能使用一些低级api。
在这里你可以找到一个好的explanation/solution。