C# Json文件已损坏

C# Json文件已损坏,c#,json,iis,windows-server-2012-r2,C#,Json,Iis,Windows Server 2012 R2,我的网站根目录中有一个名为test.json的json文件。它托管在IIS版本6.2中的Windows Server 2012 R2上。json文件为2698KB。 我编写了一个很简单的小型C#控制台应用程序,它访问文件,然后将字节数组写入文件 class Program { static void Main(string[] args) { WebClient client = new WebClient(); byte[] data = cli

我的网站根目录中有一个名为test.json的json文件。它托管在IIS版本6.2中的Windows Server 2012 R2上。json文件为2698KB。 我编写了一个很简单的小型C#控制台应用程序,它访问文件,然后将字节数组写入文件

class Program
{
    static void Main(string[] args)
    {
        WebClient client = new WebClient();
        byte[] data = client.DownloadData("http://mywebsite/test.json");
        File.WriteAllBytes("D:\\test\\download.json", data);
    }
}
当我在本地计算机上运行此exe,然后将下载的文件与网站根目录中的原始文件进行比较时,两者是相同的。但是,当我在服务器上运行exe(托管站点的同一服务器)并将下载的文件与原始文件进行比较时,下载的文件总是损坏的,每次都是在不同的位置或以不同的方式。例如:

原始Json:

"Deleted" : false,
"CreateDate" : "2012-09-04T07:57:41.5947956",
"ModUser" : "CFR",
损坏的Json:

"Language" : null,
"Dell," Lookup ":null," LanguageId ":1,"

它只是被破坏了,毫无意义,无法解析。这个功能在这个网站上运行了很长一段时间,现在文件总是损坏的。如果我通过Internet Explorer下载json,在服务器上使用浏览器时也会损坏。但不是从我的本地机器。我不知道是什么导致了这个问题。任何帮助或提示都将不胜感激。

我找到了解决办法。我使用localhost ip 127.0.0.1将mywebsite添加到Web服务器上的主机文件中,现在当我访问json数据时,它不再损坏。

您确定服务器实际上正在与同一个站点通信吗?它和网站之间是否有可能损坏的代理?(不清楚“服务器”是否指“为我下载的网站提供服务的同一台机器”。)我使用远程桌面连接连接到服务器。我从服务器和本地机器ping站点,两次我都从相同的ip地址得到回复。我不确定如何检查代理。很抱歉,是的,您是对的。服务器与承载我下载的网站的计算机相同。如果您在windows服务器上的浏览器中打开文件,那么它是否已损坏?这是一个好问题,但不幸的是,windows服务器上的浏览器是IE11,无法在浏览器中打开文件,它只显示:,“是否要打开或保存test.json”是,使用编辑器打开它:)