我们在 ASP.NET MVC3 中有一个系统,我们在 IIS7 上运行。
我的控制器看起来像这样:
public ActionResult Display(string reportID)
{
string fullName = service.initiateGisTaxJurCsvGeneration();
string fileName = Path.GetFileName(fullName);
return File(fullName, "text/csv", fileName);
}
该服务创建一个 .csv 文件并将其保存到用户本地 Windows 临时目录。接下来的两行代码只是在浏览器中将文件返回给用户,以便下载。
该文件的下载在我的本地 Web 服务器上运行良好(Visual Studio 中的一个)。我们还有一个测试环境和一个生产环境。它们位于同一服务器和 IIS 实例上。测试和产品只是同一个 IIS 实例上的不同网站。从我们的测试网站返回文件可以正常工作,但产品网站返回代码 HTTP500。
这让我认为 IIS 服务器中的某处必须有一些设置,这在两个不同的网站(产品和测试)之间是不同的。我找不到两者之间的任何不同之处,但我对 IIS 的了解并不深。您能想到我可能错过的任何可能导致此类问题的事情吗?