我有一个Windows服务,它将发布请求发送到网址:
System.Net.ServicePointManager.Expect100Continue = false;
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(url, myParameters);
Console.WriteLine(HtmlResult);
}
仅当服务以管理员身份运行且在控制台应用程序中运行时,此选项才有效。当以LocalService帐户运行时,我会收到超时。
我该怎么办?
答案 0 :(得分:1)
我猜你的问题是不允许本地服务访问远程资源。因此,您需要使用允许使用远程资源的帐户,例如网络服务或使用适合您需要的特定权限创建的用户帐户(您可能还需要访问本地文件夹以读取/写入数据)这是最佳做法IMHO。
答案 1 :(得分:0)
在LocalService帐户下运行与网络相关的代码后,您将显示为匿名用户。因此很可能禁止访客访问您的场所。因此,使用NetworkService(专为网络人员设计)替换LocalService可能是值得的。 http://windowsitpro.com/systems-management/understanding-local-service-and-network-service-accounts