मैं कार्य निर्धारित करने के लिए डॉटनेटनेट के शेड्यूलर के साथ काम कर रहा हूं और मैं अपने द्वारा बनाए गए ईमेल टेम्पलेट का भौतिक फ़ाइल पथ प्राप्त करना चाहता हूं। समस्या यह है कि HttpContext NULL है क्योंकि निर्धारित कार्य एक अलग थ्रेड पर है और http अनुरोध नहीं है। आप फ़ाइल के भौतिक पथ को पाने के बारे में कैसे जाएंगे?एएसपी.नेट में जब आप एचटीपीसीएन्टेक्स्ट.क्यूरेंट न्यूल होते हैं तो आपको भौतिक फ़ाइल पथ कैसे मिलता है?
एएसपी.नेट में जब आप एचटीपीसीएन्टेक्स्ट.क्यूरेंट न्यूल होते हैं तो आपको भौतिक फ़ाइल पथ कैसे मिलता है?
उत्तर
System.Web.Hosting.HostingEnvironment.MapPath वह है जो आप खोज रहे हैं। जब भी आप सर्वर या HttpContext.Current ऑब्जेक्ट्स का उपयोग कर रहे हैं, तो यह देखने के लिए पहले जांचें कि HostingEnvironment में आपको क्या चाहिए।
चूंकि यह प्रक्रिया वेब साइट के संबंध में वास्तव में बाहर की बैंड है, हो सकता है कि आप केवल एक कॉन्फ़िगर फ़ाइल में पथ डाल सकें।
सबसे अच्छा विचार नहीं हो सकता है, लेकिन यह एक विकल्प है।
यह क्या कहता है। गेट टाइप()। विधानसभा। स्थान?
यह सी लौटाता है: \ विन्डोज़ \ माइक्रोसॉफ्ट.नेट \ फ्रेमवर्क \ v2.0.50727 \ अस्थायी एएसपी.नेट फ़ाइलें \ mywebsite \ 50f1a686 \ ab5b581d \ App_Code.xkcsxvg6.dll – John
आप विधानसभा & देख सकता हूँ इस तरह codebase पथ:
Imports System.Reflection
Imports System.IO
...
Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase)
सामान इस तरह का हमेशा काम नहीं करता, ऐसा करने से मैं क्या सिफारिश करेंगे बारे में डेटा के एक समूह के साथ एक लॉग लिख रहा है असेंबली, यह देखने के लिए कि इस स्थान में क्या काम करता है। जब मैं AppCenter में होस्ट करने के लिए COM घटक बना रहा था, तो मुझे ऐसा कुछ करने के लिए करना था। मैंने इसका उपयोग "APP_BASE" होना चाहिए, और उसे सेट करने के लिए किया, इसलिए app.config फ़ाइल ठीक से लोड हो जाएगी।
Log.Write (Assembly.GetExecutingAssembly().CodeBase)
Log.Write (Assembly.GetExecutingAssembly().Location)
Log.Write (Path.GetFullPath("."))
Log.Write (Application.StartupPath)
... and so on, whatever you can think of ...
ऐसा करने के कई तरीके हैं, मैं अपने मॉड्यूल के लिए कॉन्फ़िगरेशन विकल्प के रूप में पथ जानकारी संग्रहीत करके व्यक्तिगत रूप से इसे प्राप्त करता हूं, यह सुरुचिपूर्ण नहीं है, लेकिन यह हर बार काम करता है और काम करता है।
जो ब्रिकमैन मैं कहीं भी विश्वास करता हूं, इस बारे में एक ब्लॉग पोस्टिंग है कि शेड्यूलर के अंदर उपयोग के लिए एक नया HTTPContext कैसे बनाया जाए।
भविष्य के पाठकों के लिए, जो ब्रिकमैन लेख [मूल संस्करण के लिए यहां हैं] (http://www.dnnsoftware.com/community-blog/cid/135304/the-quest-for-the-dotnetnuke-holy-grail) और [यहां एक अद्यतन संस्करण के लिए] (http://www.dnnsoftware.com/community-blog/cid/137009/new-and-improved-holy-grail)। – AaronSieb
- 1. एएसपी.नेट में अनुरोध से आपको आईपी पता कैसे मिलता है?
- 2. आप HttpContext के बिना फ़ाइल के भौतिक पथ को कैसे निर्धारित करते हैं?
- 3. रेल - रेल कंसोल में, जब आप सहेजते हैं और झूठे होते हैं, तो आप कैसे पता लगा सकते हैं क्यों?
- 4. पर्ल फ़ंक्शंस में आपको कई तर्क कैसे प्राप्त होते हैं?
- 5. जब आप Google मानचित्र URL खोलते हैं तो आप पैदल चलने के दिशा-निर्देशों के लिए डिफ़ॉल्ट कैसे होते हैं?
- 6. जब आप अनुवादित पाठ में लिंक करते हैं तो आप गेटटेक्स्ट का उपयोग कैसे करते हैं?
- 7. यदि आप पाइथन में स्वयं को आयात करते हैं, तो आपको अनंत लूप क्यों नहीं मिलता है?
- 8. एएसपी.नेट - आपको प्रक्रिया पहचान कैसे मिलती है?
- 9. जब आप मूल गतिविधि की स्थिति को सहेजने के लिए बाध्य होते हैं तो आप खंड लेनदेन को कैसे संभालेंगे?
- 10. जब आप Toolkit.getDefaultToolkit() को AWTError फेंकते हैं तो आप जावा में एक छवि कैसे पढ़ते हैं?
- 11. यदि आप खाली हैं तो क्या आपको ग्रिड दिखाना चाहिए?
- 12. जब पथ में प्रतीकात्मक लिंक होते हैं तो एक निर्देशिका को यूनिक्स/लिनक्स में वापस कैसे स्थानांतरित करें?
- 13. जब वे लाटेक्स गणित में लाइनों के बीच विभाजित होते हैं तो आप कोष्ठक मिलान की ऊंचाई कैसे बनाते हैं?
- 14. जब आप कोई प्रोग्राम चलाते हैं तो क्या होता है?
- 15. जब आप शीर्षलेख खोज पथ
- 16. फ़्लोटिंग-पॉइंट अनुक्रम में आपको अगला मान कैसे मिलता है?
- 17. जब आप इकाई नाम के बारे में अनिश्चित हैं तो आप EntityManager कैसे बनाते हैं?
- 18. जब आप TortoiseHG संस्करण 2.1.2 में हैं तो आप "एचजी हेड" आउटपुट कैसे दिखाते हैं?
- 19. आप पहले से मौजूद स्ट्रिंग में कैसे संलग्न होते हैं?
- 20. जब आप आलसी = सत्य करते हैं तो हाइबरनेट इकाइयों के साथ काम करने के बराबर कैसे होते हैं?
- 21. भौतिक पथ के साथ OpenWebConfiguration कैसे खोलें?
- 22. भौतिक पथ से आभासी पथ में कनवर्ट करें
- 23. जब उपयोगकर्ता फ़ायरफ़ॉक्स और क्रोम में "भौतिक स्थान" प्रॉम्प्ट बंद करता है तो कैसे संभालें?
- 24. भौतिक पथ के सर्वर पथ कैसे प्राप्त करें?
- 25. जब आपके पास एकाधिक सर्वर होते हैं तो क्वार्ट्ज की तरह नौकरी शेड्यूलर कैसे काम करेगा?
- 26. जब jQuery के लाइव() घटनाओं के साथ तत्व संलग्न होते हैं तो कोड कैसे चलाएं?
- 27. जब मेरे पास मेरे लिस्टबॉक्स में छवियां हैं तो मुझे आउटऑफमेमरी अपवाद क्यों मिलता है?
- 28. आभासी निर्देशिका भौतिक पथ कैसे प्राप्त करें
- 29. सी एपीआई डिज़ाइन: जब मॉलोक न्यूल देता है तो क्या करना है?
- 30. रूबी के साथ आपको न्यूनतम/अधिकतम कैसे मिलता है?
क्या होगा यदि आप किसी वेब प्रोजेक्ट के बाहर हैं लेकिन चाहते हैं आइए कहें कि किसी छवि को पकड़ने के लिए या पढ़ने के लिए अपने वेब प्रोजेक्ट के इमेज फ़ोल्डर में जाएं, एक एचटीएम फाइल की सामग्री कहें जो आपकी वेबसाइट पर साइटें हैं लेकिन आपके पास उस फाइल पर जाने के लिए बाहर उपयोग करने के लिए एक यूटिलिटी विधि है? – PositiveGuy
यदि आप वेब प्रोजेक्ट के बाहर हैं, तो मुझे लगता है कि आपको वेब प्रोजेक्ट को वैसे भी ढूंढने के लिए अपने कस्टम कोड की आवश्यकता होगी। एक बार जब आप इसे प्राप्त कर लेंगे, तो आप केवल उस पथ का पालन कर सकते हैं, बिना किसी विशेष सहायक के 'मैपपाथ'। – bdukes