我有一个继承System.ServiceProcess.ServiceBase的窗口服务。在调试模式下运行(未经过测试编译)时,线程看不到当前的用户凭据。
我需要凭据,因此我可以设置WebProxy,我更愿意使用服务运行的帐户而不是将用户和密码传递为字符串。
有人可以帮我弄清楚为什么继承自ServiceBase的类中运行的代码没有登录用户的凭据?
答案 0 :(得分:0)
我已经解决了我的问题。
首先,您可以通过WindowsIdentity对象访问用户,尽管这实际上不是问题。证书确实是空白的,但它是由一些项目设置引起的。
作为一个解决方案,我创建了一个新的Windows服务项目,并添加了我原来的类文件,一切都很好。我确实尝试过文件比较,但没有发现新旧项目的确切原因或差异。但是我怀疑它是存在清单文件(UAC)的事实,或者可能是我的配置文件中basicHttpBinding中的设置。