ฉันต้องทำอะไรเพื่อให้Server.MapPath
ทำงานได้?
ฉันมีusing System.Web;
อะไรอีก? เมื่อฉันพิมพ์Server
ไม่มีตัวเลือกผลที่รวดเร็ว (Intelli-ความรู้สึก) Server
สำหรับ
ความช่วยเหลือใด ๆ
ฉันต้องทำอะไรเพื่อให้Server.MapPath
ทำงานได้?
ฉันมีusing System.Web;
อะไรอีก? เมื่อฉันพิมพ์Server
ไม่มีตัวเลือกผลที่รวดเร็ว (Intelli-ความรู้สึก) Server
สำหรับ
ความช่วยเหลือใด ๆ
คำตอบ:
คุณสามารถลองใช้สิ่งนี้
System.Web.HttpContext.Current.Server.MapPath(path);
หรือใช้ HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
System.Web.dll
โครงการของคุณต้องอ้างอิงประกอบ เซิร์ฟเวอร์เป็นวัตถุประเภทHttpServerUtility
หนึ่ง ตัวอย่าง:
HttpContext.Current.Server.MapPath(path);
System.Web.HttpContext.Current.Server.MapPath("~/")
ให้โมฆะถ้าเราเรียกมันจากเธรด
ดังนั้นลองใช้
System.Web.Hosting.HostingEnvironment.MapPath("~/")
เพิ่มข้อมูลอ้างอิงSystem.web
หากคุณไม่มี ทำในโฟลเดอร์อ้างอิง
จากนั้นคุณสามารถใช้ Hosting.HostingEnvironment.MapPath(path);
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);
ลองเพิ่มSystem.Web
เป็นข้อมูลอ้างอิงในโครงการของคุณ
คุณต้องเพิ่มการอ้างอิง ( System.Web
)
การอ้างอิงถึง System.Web
ฉันรู้ว่าโพสต์นี้มีอายุไม่กี่ปี แต่สิ่งที่ฉันทำคือเพิ่มบรรทัดนี้ที่ด้านบนสุดของชั้นเรียนของคุณและคุณจะยังสามารถใช้เซิร์ฟเวอร์ได้
Dim Server = HttpContext.Current.Server
หรือคุณสามารถสร้างฟังก์ชัน
Public Function MapPath(sPath as String)
return HttpContext.Current.Server.MapPath(sPath)
End Function
ฉันทุกคนกำลังทำให้สิ่งต่างๆง่ายขึ้น ฉันได้เพิ่มลงในคลาสยูทิลิตี้ของฉันด้วยในกรณีที่ฉันพบสิ่งนี้อีกครั้ง