Was muss ich tun, um Server.MapPath
Arbeit zu machen ?
ich habeusing System.Web;
was sonst? Wenn ich Server
tippe, gibt es keine schnelle Ergebnisoption (Intelli-Sense) für Server
.
Irgendeine Hilfe?
Was muss ich tun, um Server.MapPath
Arbeit zu machen ?
ich habeusing System.Web;
was sonst? Wenn ich Server
tippe, gibt es keine schnelle Ergebnisoption (Intelli-Sense) für Server
.
Irgendeine Hilfe?
Antworten:
Sie können dies versuchen
System.Web.HttpContext.Current.Server.MapPath(path);
oder verwenden HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
Ihr Projekt muss auf die Baugruppe verweisen System.Web.dll
. Server ist ein Objekt vom Typ HttpServerUtility
. Beispiel:
HttpContext.Current.Server.MapPath(path);
System.Web.HttpContext.Current.Server.MapPath("~/")
gibt null, wenn wir es von einem Thread aufrufen.
Versuchen Sie es also
System.Web.Hosting.HostingEnvironment.MapPath("~/")
bool IsExist = System.IO.Directory.Exists(HttpContext.Current.Server.MapPath("/UploadedFiles/"));
if (!IsExist)
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("/UploadedFiles/"));
StreamWriter textWriter = File.CreateText(Path.Combine(HttpContext.Current.Server.MapPath("/UploadedFiles/") + "FileName.csv"));
var csvWriter = new CsvWriter(textWriter, System.Globalization.CultureInfo.CurrentCulture);
csvWriter.WriteRecords(classVM);
Versuchen Sie, System.Web
als Referenz zu Ihrem Projekt hinzuzufügen .
Sie müssen reference ( System.Web
)
Reference zu System.Web hinzufügen
Ich weiß, dass dieser Beitrag einige Jahre alt ist, aber ich füge diese Zeile ganz oben in Ihrer Klasse hinzu, und Sie können weiterhin Server.MapPath verwenden
Dim Server = HttpContext.Current.Server
oder du kannst eine Funktion machen
Public Function MapPath(sPath as String)
return HttpContext.Current.Server.MapPath(sPath)
End Function
Mir geht es darum, die Dinge einfacher zu machen. Ich habe es auch zu meiner Utilities-Klasse hinzugefügt, für den Fall, dass ich erneut darauf stoße.