আমি কীভাবে গ্লোবাল.এক্সএক্স থেকে সার্ভার.ম্যাপপথ () ব্যবহার করতে পারি?


122

আমি Server.MapPath()সংরক্ষণ করি এমন কিছু ফাইলের পাথ একত্রিত করার জন্য আমার প্রয়োজন web.config

যাইহোক, যেহেতু Server.MapPath()বর্তমান এইচটিটিপি কনটেক্সট (আমার মনে হয়) এর উপর নির্ভর করে, তাই আমি এটি করতে অক্ষম। পদ্ধতিটি "উপলব্ধ" সত্ত্বেও ব্যবহার করার চেষ্টা করার সময় আমি নিম্নলিখিত ব্যতিক্রমগুলি পাই:

এই প্রসঙ্গে সার্ভার অপারেশন উপলব্ধ নেই।

এমন কোনও পদ্ধতি ~/App_Data/আছে যা পুরো শারীরিক পথে যেমন ওয়েব রুটের আপেক্ষিক ডিরেক্টরিটিকে মানচিত্র করতে পারে C:\inetpub\wwwroot\project\App_data\?

উত্তর:


295

আপনি System.Web.Hosting.HostingEnomot.MapPath () চেষ্টা করতে পারেন ।

কোনও এইচটিপিপি কনটেক্সট দরকার নেই।


এই কৌশলটি কোন গুপ্তচর?
জন বুবরিস্কি

10
নাঃ। আপনি যদি রিফ্লেক্টরকে গুলি চালিয়ে যান তবে আপনি লক্ষ্য করুন যে সার্ভার.ম্যাপপথ এবং অনুরোধ est ম্যাপপথ চূড়ান্তভাবে ভার্চুয়ালপথ.ম্যাপপথ কল করবে যা শেষ পর্যন্ত হোস্টিংএন্টারভায়ারমেন্ট.ম্যাপপথকে কল করে। তারা সবাই একই জায়গায় শেষ হয়। হোস্টিংএন্টারভায়রনমেন্ট.ম্যাপপথ মধ্যবিত্তকে আউট করে।
কর্বিন মার্চ

1
+1 এটি একটি ওপেন সোর্স প্রকল্প স্থির করেছে যা আমার পক্ষে কাজ করে যাচ্ছিল তখন কেবল এইচটিটিপি কনটেক্সট.কন্টেন্টের কারণে শুরু করা বন্ধ করে দিয়েছে some সার্ভারটি কোনও কারণে প্রসঙ্গ না থাকার কারণে এটি ফুরিয়েছে। এটিকে স্যুইচিং এটিকে মসৃণ নৌযানে ফিরিয়ে দেওয়া হয়েছে।
ক্রিস মেরিসিক


1

Global.asax এ থাকাকালীন প্রসঙ্গ অবজেক্টটি ব্যবহার করুন :

context.Server.mappath ()

প্রসঙ্গ আপনাকে সেশন সংগ্রহ, অনুরোধের অবজেক্ট, রেসপন্স অবজেক্টেও অ্যাক্সেস করতে দেয়। উদাহরণস্বরূপ, আপনি লগ ত্রুটি করতে চাইলে খুব দরকারী


Contextগ্লোবাল.এক্সে কোনও গ্যারান্টিযুক্ত নেই ।
অ্যান্ডার্স টর্নব্ল্যাড

-3

আপনি HTTPContext.Current.Server.MapPath ("/") চেষ্টা করে দেখতে পারেন - ক্লাসে এর আগে আমি এটি উল্লেখ করেছি।


2
আপনি ক্লাসে এটির মতো রেফারেন্স দিতে পারেন যেগুলি আসলে একটি HTTPContext আছে, তবে আমি মনে করি না Global.asax এর একটি রয়েছে, তাই আমি পেয়েছি ত্রুটি বার্তাটি।
জন বুবরিস্কি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.