Server.MapPath का उपयोग नहीं किया जा सकता


111

मुझे Server.MapPathकाम करने के लिए क्या करना चाहिए ?
मेरे पास हैusing System.Web;

और क्या? जब मैं टाइप करता हूं तो Serverउसके लिए कोई त्वरित परिणाम विकल्प (इंटेली-सेंस) नहीं होता है Server

कोई मदद?


1
आपको अधिक जानकारी प्रदान करने की आवश्यकता है। यह किस तरह का प्रोजेक्ट है? आप Server.MapPath क्यों चलाना चाहते हैं? क्या यह एक वेब-फ़ॉर्म परियोजना है और क्या आप किसी पृष्ठ उप-वर्ग या ASPX के रेंडर फ़ंक्शन में कोड लिख रहे हैं?
दाई

C # Winforms .. मैं इसे सर्वर पर फ़ाइल उपलब्धता के लिए जांचना चाहता
हूं

जवाबों:


286

आप इसका उपयोग करके देख सकते हैं

    System.Web.HttpContext.Current.Server.MapPath(path);

या उपयोग करें HostingEnvironment.MapPath

    System.Web.Hosting.HostingEnvironment.MapPath(path);

1
वे काम नहीं कर रहे हैं .... त्रुटि 1 'HttpContext' नाम या प्रकार का नामस्थान 'System.Web' नाम में मौजूद नहीं है (क्या आप असेंबली संदर्भ याद कर रहे हैं?) ... त्रुटि 2 प्रकार या नाम स्थान नाम 'होस्टिंग' 'System.Web' नामस्थान में मौजूद नहीं है
a1204773

ऐसा लगता है कि आपके winforms का उपयोग कर रहे हैं, आप इस लिंक को तब देखना चाहते हैं debugging.com/bug/18951
DotNetUser

4
मुझे भी, HostingEnvironment.MapPath ने काम किया और मैं इसे एक नियंत्रक के बाहर उपयोग कर रहा हूं।
ल्यूक

सबसे पहले आपके सभी प्रोजेक्ट को System.Web.dll को
रेफर

इस निर्देशिका में मौजूद फाइल को कैसे पढ़ें "~ / AppData / रोमिंग"?
मुरलीधर फिचडिया २४'१

14

आपकी परियोजना को विधानसभा को संदर्भित करने की आवश्यकता है System.Web.dll। सर्वर एक प्रकार की वस्तु है HttpServerUtility। उदाहरण:

HttpContext.Current.Server.MapPath(path);

3
ऐसा संदर्भ मुझे नहीं मिला, मुझे यह केवल दो मिले: System.Web.ApplicationServices, System.Web.Services ....
a1204773

4

System.Web.HttpContext.Current.Server.MapPath("~/") अगर हम इसे एक धागे से कहते हैं तो अशक्त हो जाता है।

इसलिए, उपयोग करने का प्रयास करें

System.Web.Hosting.HostingEnvironment.MapPath("~/")


1

System.webयदि आपके पास नहीं है, तो Firt एक संदर्भ जोड़ देता है। संदर्भ में ऐसा करो फ़ोल्डर।

तब आप उपयोग कर सकते हैं Hosting.HostingEnvironment.MapPath(path);


1
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);

कोड-केवल उत्तरों को निम्न गुणवत्ता माना जाता है: यह सुनिश्चित करना सुनिश्चित करें कि आपका कोड क्या करता है और यह समस्या को कैसे हल करता है। यह पूछने वाले और भविष्य के पाठकों दोनों की मदद करेगा यदि आप अपनी पोस्ट में अधिक जानकारी जोड़ सकते हैं। पूरी तरह से कोड-आधारित उत्तरों की व्याख्या करना
Calos

0

System.Webअपनी परियोजना के संदर्भ के रूप में जोड़ने का प्रयास करें ।



0

मुझे पता है कि यह पोस्ट कुछ साल पुरानी है, लेकिन मैं क्या करता हूं कि इस लाइन को आपकी कक्षा के शीर्ष पर जोड़ दिया जाए और आप अभी भी उपयोगकर्ता Server.MapPath में सक्षम होंगे

Dim Server = HttpContext.Current.Server

या आप एक समारोह बना सकते हैं

Public Function MapPath(sPath as String)
    return HttpContext.Current.Server.MapPath(sPath)
End Function

मैं सभी चीजों को आसान बनाने के बारे में हूं। मैंने इसे फिर से चलाने की स्थिति में इसे अपनी यूटिलिटीज़ क्लास में भी जोड़ा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.