前提条件
我正在尝试让一个Windows服务充当SignalR客户端连接到Web服务器(在IIS Express上运行的MVC3项目)。 但是在尝试连接到服务器时,返回了401未经授权的状态。
据我所知,Windows服务运行在NETWORK_SERVICE帐户下,这个帐户不是用于连接到IIS的有效用户名。 不过,我已经尝试以以下方式配置SignalR:
初始化
private static Connection WebUIConnection = new Connection("http://localhost:54193/IISWebsite");
设置凭证
WebUIConnection.Credentials = new System.Net.NetworkCredential("?", "?")
IIS的设置:
IIS几乎是一个标准的MVC3项目,并启用了Windows身份验证。
我的尝试
我已经尝试将SignalR的凭据设置为本地Windows用户名+密码,还尝试使用本地网络AD用户名+密码,但我认为这不是正确的方法。
所以我的问题是,当我尝试使我的Windows服务作为SignalR服务器的客户端时,应该考虑什么?是否有一种方法可以配置IIS以授予客户端访问Network_Service用户的权限?实际上是否可能像我正在尝试做的那样,使Windows服务作为运行在IIS中的Web服务器的客户端?
谢谢, Lari
Uninstall-Package Newtonsoft.Json -Force
Install-Package Newtonsoft.Json -Version 4.0.3
- Lari Tuomisto