Windows 服务未发送,但 windows 表单是

Windows Service not send but windows form Yes

我有一个 Windows 表单和一个 Windows 表单,它们运行相同的代码,两者的作用相同。他们从局域网上的一台电脑上下载一些文件(嵌入 windows7)并将其发送到选定的服务器。

问题是如果我通过 windows 形式发送它工作正常并且发送文件没有问题但是如果离开 windows 服务器自动发送数据在尝试下载文件时有问题失败 我在一些电脑上尝试它并且工作(windows 表格和 windows 服务)但是我发现一些电脑失败(windows 表格工作和服务失败),并且不下载文件我从程序中看到了日志,发现失败了:

-无法连接到远程服务器。

-远程服务器返回错误:(407) 需要代理身份验证(在这种情况下,该办公室的系统对来自互联网的所有流量都有代理,但连接首先在局域网上)。

我在下一个函数中发现了错误:

string xmlText = "";
// Read the file as a string
using (WebClient client = new WebClient())
{
    xmlText = client.DownloadString(url);
}

该函数从局域网PC下载一个XML

谁知道怎么解决的? 谢谢

这可能是因为您 运行 是未知用户,您需要 运行 作为您的用户(或设置 user/password)。

试试这个:

string xmlText = "";
// Read the file as a string
using (WebClient client = new WebClient())
{
    client.UseDefaultCredentials = true;
    xmlText = client.DownloadString(url);
}

然后 运行在您的帐户下使用该服务。 如果您不想运行下您的帐户,您需要在代码中设置用户和密码:

string xmlText = "";
// Read the file as a string
using (WebClient client = new WebClient())
{
    client.Credentials = new NetworkCredential("username", "password");
    xmlText = client.DownloadString(url);
}