Когда я попытался получить доступ к файлу сетевого диска из локального, он работает нормально, но когда я развертываю код, я получаю ниже ошибку
в System.IO.__ Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileStream.Init(путь String, режим FileMode, доступ к FileAccess, права Int32, логические значения useRights, общий ресурс FileShare, параметры Int32 bufferSize, FileOptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
в System.IO.FileStream..ctor(путь String, режим FileMode, доступ к FileAccess, общий ресурс FileShare)
в System.Web.HttpResponse.WriteFile(String filename, Boolean readIntoMemory)
в System.Web.HttpResponse.WriteFile(String filename)
в Configs.gvConfigs_RowCommand (отправитель объекта, GridViewCommandEventArgs e) в C:\Users\bpucha1103c\Desktop\CellBackHaul_Publish\Configs.aspx.cs: строка 59 2013-02-05 13: 31: 21,412 [19] WARN System.Web.UI.Page [(null)] - Ведение журнала: System.IO.IOException: Используемая учетная запись является учетной записью компьютера. Используйте глобальную учетную запись пользователя или локальную учетную запись для доступа к этому серверу.
как сделать олицетворение при доступе к файлу в общей сетевой папке? Ниже мой код
GridViewRow rw = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
LinkButton lnkTxtFile = (LinkButton)rw.FindControl("lnkTxtFile");
string strFilename = lnkTxtFile.Text.Replace("/","\\");
System.IO.FileInfo targetFile = new System.IO.FileInfo(strFilename);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + targetFile.Name);
Response.ContentType = "application/octet-stream";
Response.WriteFile(targetFile.FullName);
//HttpContext.Current.ApplicationInstance.CompleteRequest();
Response.End();
вот мой модифицированный код
GridViewRow rw = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
LinkButton lnkTxtFile = (LinkButton)rw.FindControl("lnkTxtFile");
string strFilename = lnkTxtFile.Text.Replace("/", "\\");
System.IO.FileInfo targetFile = new System.IO.FileInfo(strFilename);
RunOperationAsUser(() =>
{
//GridViewRow rw = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
//LinkButton lnkTxtFile = (LinkButton)rw.FindControl("lnkTxtFile");
//string strFilename = lnkTxtFile.Text.Replace("/", "\\");
//System.IO.FileInfo targetFile = new System.IO.FileInfo(strFilename);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + targetFile.Name);
Response.ContentType = "application/octet-stream";
Response.WriteFile(targetFile.FullName);
//HttpContext.Current.ApplicationInstance.CompleteRequest();
Response.End();
}, "bpucha1103c", targetFile.DirectoryName , "White1234");