সার্ভার.ম্যাপপথ এবং হোস্টিংইনচারন.ম্যাপপথের মধ্যে পার্থক্য কী?


174

Server.MapPath()এবং এর মধ্যে কোনও পার্থক্য আছে কি HostingEnvironment.MapPath()? Server.MapPath()কোন সুবিধা আছে কি HostingEnvironment.MapPath()?

আমার আসল সমস্যাটি যখন সার্ভারে HttpContextউপস্থিত না হয় তখন ফাইল পাথটি ম্যাপ করা ছিল এবং আমি আমার পদ্ধতিতে কোনও Serverভেরিয়েবল পাস করতে পারি না Global.asax

আমি এর HostingEnvironment.MapPath()পরিবর্তে ব্যবহার করেছি কারণ এটির দরকার নেই HttpContext। এমন কোনও পরিস্থিতি আছে যখন এই দুটি পদ্ধতি আলাদা ফলাফল দেবে?

উত্তর:


204

Server.MapPath()শেষ পর্যন্ত কল করে HostingEnvironment.MapPath()তবে এটি VirtualPathনির্দিষ্ট বিকল্পগুলির সাহায্যে একটি বস্তু তৈরি করে :

VirtualPathবস্তু পাস HostingEnvironment.MapPath()ভালো নির্মাণ হয়:

VirtualPath.Create(path, VirtualPathOptions.AllowAllPath|VirtualPathOptions.AllowNull);

সম্পাদনা করুন : বাস্তবে একমাত্র পার্থক্য হ'ল আপনাকে নাল দিয়ে যাওয়ার অনুমতি দেওয়া হয়েছে Server.MapPath()তবে তা নয়HostingEnvironment.MapPath()


2
সুতরাং আমি সবসময় উভয় পদ্ধতি থেকে একই ফলাফল পাবেন, তাই না? (নাল যুক্তি বাদে)
এম্পি

61
টিএল; ডিআর : HostingEnvironment.MapPath()বিচক্ষণতা বজায় রাখতে সর্বদা ব্যবহার করুন । (+1)
ক্রিস মেরিসিক

15
নাল ছাড়িয়ে আলাদা কিছু থাকতে হবে কারণ Server.MapPath("myFolder")সূক্ষ্মভাবে কাজ করে তবে হোস্টিংএন্টারভায়রনমেন্টের সাথে একই ফলাফল পেতে আমাকে ব্যবহার করতে হয়েছিল HostingEnvironment.MapPath("~/myFolder")
স্টায়ফেল

একটি ওয়েব পরিষেবাতে একটি কলের মাধ্যমে একটি এফটিপি সেশন শুরু করার জন্য দুর্দান্ত উত্তর। আজ আমাকে বিশাল বাঁচাল !!!
এইচটিএম

10
প্রকৃতপক্ষে আরও একটি পার্থক্য রয়েছে - আপেক্ষিক পাথ (যেমন চিত্র / পিকচার.পিএনজি) হোস্টিংএইনভায়রনমেন্ট.ম্যাপপথের সাথে অনুমোদিত নয়।
নেটমেজ

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