উত্তর:
সার্ভার.ম্যাপপথ কোনও শারীরিক ডিরেক্টরিতে মানচিত্রের সম্পর্কিত বা ভার্চুয়াল পাথ নির্দিষ্ট করে ।
Server.MapPath(".")
1 এক্সিকিউট হওয়া ফাইলটির বর্তমান শারীরিক ডিরেক্টরি (যেমন এসপিএক্স) প্রদান করেServer.MapPath("..")
মূল ডিরেক্টরি প্রদান করেServer.MapPath("~")
অ্যাপ্লিকেশনটির মূলটিতে শারীরিক পথ ফেরায়Server.MapPath("/")
ডোমেন নামের মূলটিতে শারীরিক পথ ফেরায় (প্রয়োজনীয়ভাবে অ্যাপ্লিকেশনটির মূলের মতো নয়)একটি উদাহরণ:
ধরা যাক আপনি কোনও ওয়েব সাইট অ্যাপ্লিকেশনটিকে ( http://www.example.com/
) নির্দেশ করেছেন
C:\Inetpub\wwwroot
এবং আপনার শপ অ্যাপ্লিকেশন ইনস্টল করে (আইআইএস-এ ভার্চুয়াল ডিরেক্টরি হিসাবে সাব ওয়েব, অ্যাপ্লিকেশন হিসাবে চিহ্নিত)
D:\WebApps\shop
উদাহরণস্বরূপ, যদি আপনি Server.MapPath()
নিম্নলিখিত অনুরোধটি কল করেন:
http://www.example.com/shop/products/GetProduct.aspx?id=2342
তারপর:
Server.MapPath(".")
1 রিটার্নD:\WebApps\shop\products
Server.MapPath("..")
আয় D:\WebApps\shop
Server.MapPath("~")
আয় D:\WebApps\shop
Server.MapPath("/")
আয় C:\Inetpub\wwwroot
Server.MapPath("/shop")
আয় D:\WebApps\shop
যদি পথটি একটি ফরোয়ার্ড স্ল্যাশ ( /
) বা পিছনে স্ল্যাশ ( \
) দিয়ে শুরু হয় , তবে MapPath()
এমন পথটি ফেরত দেয় যেন পথটি একটি পূর্ণ, ভার্চুয়াল পাথ।
যদি পথটি স্ল্যাশ দিয়ে শুরু না হয় তবে MapPath()
হলে, অনুরোধটির প্রক্রিয়াজাত হওয়ার ডিরেক্টরিটির সাথে সম্পর্কিত একটি পাথ ফেরত দেয়।
দ্রষ্টব্য: সি # তে, @
ভারব্যাটিম আক্ষরিক স্ট্রিং অপারেটরের অর্থ হ'ল স্ট্রিংটি "যেমন রয়েছে" ব্যবহার করা উচিত এবং পালানোর ক্রমগুলির জন্য প্রক্রিয়া করা উচিত নয়।
পাদটিকা
Server.MapPath(null)
এবং এই প্রভাবও উত্পাদনServer.MapPath("")
করবে ।HostingEnvironment.MapPath
যেমন প্রয়োজন হয় না HttpContext
: stackoverflow.com/q/944219/3205
@ স্প্ল্যাটনে এর উত্তরটি একটু বাড়ানোর জন্য:
MapPath(string virtualPath)
নিম্নলিখিত কল:
public string MapPath(string virtualPath)
{
return this.MapPath(VirtualPath.CreateAllowNull(virtualPath));
}
MapPath(VirtualPath virtualPath)
পরিবর্তিত কলগুলিতে MapPath(VirtualPath virtualPath, VirtualPath baseVirtualDir, bool allowCrossAppMapping)
নিম্নলিখিতটি রয়েছে:
//...
if (virtualPath == null)
{
virtualPath = VirtualPath.Create(".");
}
//...
সুতরাং আপনি যদি কল করেন MapPath(null)
বা MapPath("")
, আপনি কার্যকরভাবে কল করছেনMapPath(".")
1) Server.MapPath(".")
- aspx
সম্পাদিত হওয়া ফাইলের (বর্তমান ) "বর্তমান শারীরিক ডিরেক্টরি" প্রদান করে ।
যাত্রা। অনুমান করা D:\WebApplications\Collage\Departments
2) Server.MapPath("..")
- "মূল ডিরেক্টরি" ফিরিয়ে দেয়
যাত্রা। D:\WebApplications\Collage
3) Server.MapPath("~")
- "প্রয়োগের মূলের শারীরিক পথ" প্রদান করে
যাত্রা। D:\WebApplications\Collage
4) Server.MapPath("/")
- ডোমেন নামের মূলটিতে শারীরিক পথটি ফেরত দেয়
যাত্রা। C:\Inetpub\wwwroot