【发布时间】:2021-12-10 16:15:00
【问题描述】:
我正在尝试下载 sql 备份文件但出现错误: respone.end() 附近的“无法评估表达式,因为代码已优化或本机框架位于调用堆栈顶部”
protected void btnDownload_Click(object sender, EventArgs e)
{
try
{
string backupDestination = backupPath;
string dbNAme = dbName;
string dateStamp = DateTime.Now.ToString("yy-MM-dd@HHmm");
string backupfile = backupDestination + '\\' + dbNAme + " of " + dateStamp + ".bak";
DataTable dt = blu.queryFunction("BACKUP database " + dbNAme + " to disk='" + backupDestination + "\\" + dbNAme + " of " + dateStamp + ".Bak'");
WebClient req = new WebClient();
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.ClearContent();
response.ClearHeaders();
response.Buffer = true;
response.AddHeader("content-disposition", "attachment; filename= " + dbNAme + ".bak");
byte[] data = req.DownloadData(backupfile);
response.ContentType = "application/sql";
response.BinaryWrite(data);
response.End();
}
catch (Exception ex)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "alertscipt", "swal('Error!','Database Backup Failed." + ex.ToString() + "','warning')", true);
}
}
【问题讨论】:
-
字符串备份目的地 = "C:\SQLBackUpFolder";字符串 dbNAme = "测试";
-
只是一个想法;您是否尝试过在不使用 try/catch 的情况下运行它,以确保您不会碰巧以某种方式隐藏原始异常?
-
@Culme 我也试过了,它没有显示任何错误,但文件没有被下载
-
您是否尝试过提前创建备份文件,只测试代码的文件下载部分?在您尝试传输备份文件时,备份文件似乎尚未完全创建。
-
@Culme 我在尝试下载之前检查了备份是否已经完成,我像你说的那样尝试过,仍然发生同样的错误
标签: asp.net sql-server