Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的ASP.NET应用程序在作为Azure Web应用程序托管时不导出CSV?_Azure_Web Applications_Asp.net Mvc 5 - Fatal编程技术网

为什么我的ASP.NET应用程序在作为Azure Web应用程序托管时不导出CSV?

为什么我的ASP.NET应用程序在作为Azure Web应用程序托管时不导出CSV?,azure,web-applications,asp.net-mvc-5,Azure,Web Applications,Asp.net Mvc 5,当我从Visual Studio测试CSV时,我的应用程序可以导出CSV,但当我将其作为Web应用程序部署到Azure时,而不是导出CSV时,我会得到一个错误代码:ERR_INVALID_RESPONSE 以下是我使用的方法: public void ExportEmpReport(int? er_id) { var er_hdr = db.expense_report_hdr.Include(w => w.employeeExpUser).Where(x =>

当我从Visual Studio测试CSV时,我的应用程序可以导出CSV,但当我将其作为Web应用程序部署到Azure时,而不是导出CSV时,我会得到一个错误代码:ERR_INVALID_RESPONSE

以下是我使用的方法:

public void ExportEmpReport(int? er_id)
    {
        var er_hdr = db.expense_report_hdr.Include(w => w.employeeExpUser).Where(x => x.ID == er_id).FirstOrDefault();
        StringWriter sw = new StringWriter();
        sw.WriteLine("Employee Name: " + er_hdr.employeeExpUser.fullname + ", Period: " + er_hdr.period + ", Expense Report ID: " + er_id);
        sw.WriteLine("Date of Expense , Expense Class , Detail , Cust/Conv , Notes , Amount , GL Code , Project Code");

        Response.ClearContent();
        Response.AddHeader("content-disposition", "attachment;filename=ExpenseReport_" + er_id + ".csv");
        Response.ContentType = "text/csv";

        var lines = db.expense_report_line.Where(y => y.er_id == er_id);

        foreach (var line in lines) 
        {
            string exp_class = line.expenseType.expense.ToString().Replace(",", "");
            string detail = (line.expense_detail != null) ? line.expense_detail.Replace(",", "") : "";
            string cust_conv = (line.cust_conv != null) ? line.cust_conv.Replace(",", "") : "";
            string notes = (line.notes != null) ? line.notes.Replace(",", "") : "";
            sw.WriteLine(string.Format("{0},{1},{2},{3},{4},{5},{6},{7}", line.expense_date, exp_class, detail, cust_conv, notes, line.amount, line.gl_code.GL_code, line.project_code));
        }

        Response.Write(sw.ToString());
        Response.End();                       
    }

以下是一些建议,您可以使用这些建议尝试并排除故障:

A.在连接到Azure上的DB时,在本地调试web应用程序。这些表格读对了吗

如果代码无法从数据库读取数据,请确保数据库已更新为最新架构

B.如果它正确读取数据,一步一步地调试它,并精确地观察它失败的地方

如果在某一行失败,请删除/替换某些代码行,直到本地web应用程序针对Azure上的DB正确运行。您可能能够识别出有问题的代码行,然后在此报告,以便其他人帮助您进一步排除故障

C.一旦你让它在Azure上的DB上使用本地应用程序,将更新的项目代码部署到Azure上的Web应用程序,以查看它是否仍然正确运行

如果它仍然不工作,可能是您的Web应用程序上有一个设置阻止它成功运行代码

D.在Azure中的Web应用程序上检查.NET Framework的版本。对于非核心1.0应用程序,应选择v3.5或v4.6

如果选择了错误的版本,请确保选择了正确的版本

E.启用Azure上运行的Web应用程序的远程调试


有一个远程调试功能,您可以在应用程序设置刀片中打开/关闭,您还可以选择VS版本2012、2013、2015。打开它以查明它在哪一行代码上出现故障。

以下是一些建议,可用于尝试并排除故障:

A.在连接到Azure上的DB时,在本地调试web应用程序。这些表格读对了吗

如果代码无法从数据库读取数据,请确保数据库已更新为最新架构

B.如果它正确读取数据,一步一步地调试它,并精确地观察它失败的地方

如果在某一行失败,请删除/替换某些代码行,直到本地web应用程序针对Azure上的DB正确运行。您可能能够识别出有问题的代码行,然后在此报告,以便其他人帮助您进一步排除故障

C.一旦你让它在Azure上的DB上使用本地应用程序,将更新的项目代码部署到Azure上的Web应用程序,以查看它是否仍然正确运行

如果它仍然不工作,可能是您的Web应用程序上有一个设置阻止它成功运行代码

D.在Azure中的Web应用程序上检查.NET Framework的版本。对于非核心1.0应用程序,应选择v3.5或v4.6

如果选择了错误的版本,请确保选择了正确的版本

E.启用Azure上运行的Web应用程序的远程调试


有一个远程调试功能,您可以在应用程序设置刀片中打开/关闭,您还可以选择VS版本2012、2013、2015。打开它以查明它失败的代码行。

堆栈跟踪是什么?哪一行引发异常?在Visual Studio中运行时,我没有收到任何堆栈错误。我得到的唯一错误是当它托管在Azure中时。我不知道一旦托管后如何调试它。我只是得到一个可能暂时关闭或可能已永久移动到一个新的网址。错误但是方法是存在的,所以我不知道为什么它说不是。该应用程序在我的本地服务器上运行时非常完美,但不是作为Azure web应用程序运行。您需要查找该应用程序,然后返回此处并询问您仍然存在的任何问题。我们无法为您调试应用程序。堆栈跟踪是什么?哪一行引发异常?在Visual Studio中运行时,我没有收到任何堆栈错误。我得到的唯一错误是当它托管在Azure中时。我不知道一旦托管后如何调试它。我只是得到一个可能暂时关闭或可能已永久移动到一个新的网址。错误但是方法是存在的,所以我不知道为什么它说不是。该应用程序在我的本地服务器上运行时非常完美,但不是作为Azure web应用程序运行。您需要查找该应用程序,然后返回此处并询问您仍然存在的任何问题。我们无法为你调试你的应用程序。很好地为我提供了选择。我在步骤B中发现了一个bug,其中一列在azure DB中的格式与本地DB中的格式不同。我以后一定会参考你的名单。给我选择的机会真是太好了。我在步骤B中发现了一个bug,其中一列在azure DB中的格式与本地DB中的格式不同。我以后一定会参考你的名单。