المسار الفعلي للموقع على قرص الخادم: HttpRuntime.AppDomainAppPath
مسار البرنامج الظاهري: HttpRuntime.AppDomainAppVirtualPath
لا يمكن استخدام أي طرق تتعلق بالطلب/HttpContext.Current وما إلى ذلك إلا عندما يكون هناك سياق طلب أو صفحة، أي أنه في حالة عدم وجود سياق طلب، يكون HttpContext.Current فارغًا دائمًا.
وينطبق الشيء نفسه على الوصول إلى كائنات ذاكرة التخزين المؤقت العمومية.
================================================================================================== ============================================================================
مثال: إخراج مسار موقع الويب asp.net.
استجابة باطلة خاصةHtml()
...{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(string.Format("الوقت الحالي: {0}"، Server.HtmlEncode(DateTime.Now.ToString())));
sb.Append("<br />");
sb.Append(string.Format("المسار الظاهري للطلب الحالي: {0}"،Server.HtmlEncode(Request.CurrentExecutionFilePath)));
sb.Append("<br />");
sb.Append(string.Format("احصل على مسار الدليل الجذر للتطبيق الحالي: {0}"، Server.HtmlEncode(Request.ApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("المسار الظاهري للطلب الحالي: {0}"،Server.HtmlEncode(Request.FilePath)));
sb.Append("<br />");
sb.Append(string.Format("المسار الظاهري للطلب الحالي: {0}"،Server.HtmlEncode(Request.Path)));
sb.Append("<br />");
sb.Append(string.Format("احصل على مسار نظام الملفات الفعلي للدليل الجذر للتطبيق الذي يتم تنفيذه حاليًا: {0}"، Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("احصل على مسار نظام الملفات الفعلي المطابق لعنوان URL المطلوب: {0}"، Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
Response.Write(sb.ToString());
}
}
الإخراج: الوقت الحالي: 2007-08-30 11:03:49
المسار الظاهري للطلب الحالي: /aDirectory/Sample/responseHtml.aspx
احصل على مسار الدليل الجذر للتطبيق الحالي: /aDirectory
المسار الظاهري للطلب الحالي: /aDirectory/Sample/responseHtml.aspx
المسار الظاهري للطلب الحالي: /aDirectory/Sample/responseHtml.aspx
احصل على مسار نظام الملفات الفعلي للدليل الجذر للتطبيق الذي يتم تنفيذه حاليًا: E:Visual Studio 2005
احصل على مسار نظام الملفات الفعلي المطابق لعنوان URL المطلوب: E:Visual Studio 2005\aDirectory
في برمجة ASP.NET، غالبًا ما يكون من الضروري استخدام طلب للحصول على معلومات حول عنوان URL.
عنوان URL للاختبار هو http://www.test.com/testweb/default.aspx ، وكانت النتائج كما يلي:
مسار الطلب: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
Request.FilePath: /testweb/default.aspx
مسار الطلب: /testweb/default.aspx
معلومات المسار:
Request.PhysicalApplicationPath: E:WWWtestweb
Request.PhysicalPath: E:WWWtestwebdefault.aspx
Request.RawUrl: /testweb/default.aspx
Request.Url.AbsolutePath: /testweb/default.aspx
Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx
طلب Url.Host: www.test.com
Request.Url.LocalPath: /testweb/default.aspx
يمكنك استخدام هذا عندما تكون هناك معلمات في عنوان url:
HttpContext.Current.Request.Url.PathAndQuery.ToString()//
عنوان هذه الصفحة: Request.URL؛
عنوان الصفحة السابقة:
Request.UrlReferrer
Request.ServerViables["http_referer"]
طلب.RawUrl
Request.RawUrl.QueryAndPath
System.IO.Path.GetFileName(Request.FilePath.ToString())
يكشف نوع HttpRequest عن الأعضاء التاليين.
وصف اسم المنشئ
البنية التحتية لبرنامج HttpRequest. تهيئة كائن HttpRequest.
وصف اسم الطريقة العليا
BinaryRead ينفذ قراءة ثنائية لعدد محدد من البايتات من دفق الإدخال الحالي.
يساوي يحدد ما إذا كان الكائن المحدد يساوي الكائن الحالي. (موروثة من الكائن.)
تسمح عملية الإنهاء للكائن بمحاولة تحرير الموارد وإجراء عمليات تنظيف أخرى قبل أن تقوم مجموعة البيانات المهملة باستعادة الكائن. (موروثة من الكائن.)
يتم استخدام GetHashCode كدالة تجزئة لنوع معين. (موروثة من الكائن.)
GetType يحصل على نوع المثيل الحالي. (موروثة من الكائن.)
تقوم MapImageCoerates بتعيين معلمات نموذج حقل الصورة الواردة إلى قيم إحداثيات x وy المناسبة.
تمت إعادة تحميل MapPath. يقوم بتعيين المسار الظاهري في عنوان URL المطلوب إلى مسار فعلي على الخادم للطلب الحالي.
يقوم MemberwiseClone بإنشاء نسخة سطحية من الكائن الحالي. (موروثة من الكائن.)
SaveAs يحفظ طلب HTTP على القرص.
تقوم ToString بإرجاع سلسلة تمثل الكائن الحالي. (موروثة من الكائن.)
يقوم ValidateInput بالتحقق من صحة المجموعات التي يتم الوصول إليها من خلال خصائص ملفات تعريف الارتباط والنموذج وQueryString.
وصف اسم السمة العليا
AcceptTypes يحصل على مصفوفة سلسلة من أنواع قبول MIME التي يدعمها العميل.
AnonymousID يحصل على المعرف المجهول لهذا المستخدم، إذا كان موجودًا.
ApplicationPath يحصل على مسار جذر التطبيق الظاهري لتطبيق ASP.NET على الخادم.
AppRelativeCurrentExecutionFilePath يحصل على المسار الظاهري لجذر التطبيق ويجعل المسار نسبيًا باستخدام علامة التلدة (~) لجذر التطبيق (على سبيل المثال، في النموذج "~/page.aspx").
المتصفح يحصل على معلومات حول إمكانيات المتصفح للعميل الطالب أو يقوم بتعيينها.
ClientCertificate يحصل على شهادة أمان العميل للطلب الحالي.
ContentEncoding يحصل على أو يحدد مجموعة الأحرف الخاصة بنص الكيان.
يحدد ContentLength طول المحتوى الذي يرسله العميل بالبايت.
ContentType يحصل على أو يقوم بتعيين نوع محتوى MIME للطلب الوارد.
ملفات تعريف الارتباط تحصل على مجموعة ملفات تعريف الارتباط المرسلة من قبل العميل.
CurrentExecutionFilePath يحصل على المسار الظاهري للطلب الحالي.
FilePath يحصل على المسار الظاهري للطلب الحالي.
الملفات يحصل على مجموعة من الملفات التي تم تحميلها من قبل العميل بتنسيق MIME متعدد الأجزاء.
عامل التصفية يحصل على أو يضبط المرشح لاستخدامه عند قراءة تدفق الإدخال الحالي.
النموذج يحصل على مجموعة متغيرات النموذج.
الرؤوس يحصل على مجموعة رؤوس HTTP.
HttpMethod يحصل على طريقة نقل بيانات HTTP التي يستخدمها العميل (مثل GET أو POST أو HEAD).
InputStream يحصل على محتويات نص كيان HTTP الوارد.
IsAuthenticated يحصل على قيمة تشير إلى ما إذا كان الطلب قد تمت مصادقته أم لا.
IsLocal يحصل على قيمة تشير إلى ما إذا كان الطلب قد جاء من الكمبيوتر المحلي.
IsSecureConnection يحصل على قيمة تشير إلى ما إذا كان اتصال HTTP يستخدم مآخذ توصيل آمنة (أي HTTPS).
العنصر يحصل على الكائن المحدد من مجموعة ملفات تعريف الارتباط أو النموذج أو سلسلة الاستعلام أو ServerVariables.
LogonUserIdentity يحصل على نوع WindowsIdentity للمستخدم الحالي.
Params يحصل على المجموعة المدمجة من عناصر QueryString وForm وServerVariables وملفات تعريف الارتباط.
يحصل المسار على المسار الظاهري للطلب الحالي.
PathInfo يحصل على معلومات مسار إضافية لمورد بامتداد URL.
PhysicalApplicationPath يحصل على مسار نظام الملفات الفعلي إلى الدليل الجذر لتطبيق الخادم الذي يتم تنفيذه حاليًا.
PhysicalPath يحصل على مسار نظام الملفات الفعلي المطابق لعنوان URL المطلوب.
QueryString يحصل على مجموعة من متغيرات سلسلة استعلام HTTP.
RawUrl يحصل على عنوان URL الأصلي للطلب الحالي.
RequestType يحصل على أو يقوم بتعيين طريقة نقل بيانات HTTP (GET أو POST) التي يستخدمها العميل.
ServerVariables يحصل على مجموعة من متغيرات خادم الويب.
TotalBytes يحصل على عدد البايتات في دفق الإدخال الحالي.
URL يحصل على معلومات حول عنوان URL المطلوب حاليًا.
UrlReferrer يحصل على معلومات حول آخر عنوان URL طلبه العميل، والذي يرتبط بعنوان URL الحالي.
UserAgent يحصل على معلومات وكيل المستخدم الأصلية لمتصفح العميل.
UserHostAddress يحصل على عنوان IP المضيف للعميل البعيد.
UserHostName يحصل على اسم DNS للعميل البعيد.
UserLanguages يحصل على مجموعة سلسلة مرتبة من تفضيلات لغة العميل.
1.Request.ApplicationPath->دليل التطبيق الحالي لم يتصل المؤلف بـ jsp. إذا كنت قد اتصلت بـ jsp، فسيكون من الواضح جدًا أن ApplicationPath يشير إلى الدليل المقابل للتطبيق الحالي (. application) - على سبيل المثال، يوجد واحد على الخادم الخاص بي. كلا اسمي نطاق تطبيق الويب هما MySite.com، أحدهما يعين الدليل MySite.com/1/ والآخر يشير إلى http://MySite.com/2/.
ثم MySite.com/1/ هو مسار التطبيق للتطبيق الأول، وبالمثل، MySite.com/2/ هو مسار التطبيق التطبيق الثاني.
2.Request.FilePath->يتوافق مع الدليل الظاهري لـ iis مثل URL http://MySite.com/1/index.html/pathinfo
مسار الملف = /1/index.html
3.Request.Path->المسار الظاهري للطلب الحالي
المسار هو سلسلة من ذيول FilePath وPathInfo. على سبيل المثال عنوان URL http://MySite.com/1/index.html/pathinfo
ثم المسار = /1/index.html/pathinfo
4.Request.MapPath(string url)->قم بتعيين عنوان url إلى دليل ظاهري على iis. هذا الدليل مرتبط بالدليل الجذر للتطبيق، بالمقارنة مع Server.MapPath، فمن المفهوم أنه لن يحتوي على مسار مثل c:/ هو مسار نسبي (Server.MapPath المقارن هو مسار مطلق)
5.Server.MapPath(string url)->قم بتعيين عنوان url إلى مسار فعلي على الخادم، على سبيل المثال، http://MySite.com/1/index.html بافتراض أن التطبيق الخاص بك موجود في c:/iis/MySite، فهو c :/iis/MySite/1/index.html
يحصل Requst.FilePath على المسار الظاهري للطلب الحالي. لا تحتوي الخاصية FilePath على المقطع الدعائي PathInfo. على سبيل المثال، بالنسبة لعنوان URL http://www.contoso.com/virdir/page.html/tail ، فإن قيمة FilePath هي /virdir/page.html.
================================================================================================== ================================================================================================== ======================================================
Request.Path يحصل على المسار الظاهري للطلب الحالي. المسار هو سلسلة من ذيول FilePath وPathInfo. على سبيل المثال، بالنسبة لعنوان URL http://www.contoso.com/virdir/page.html/tail ، فإن المسار هو /virdir/page.html/tail.
================================================================================================== ================================================================================================== ======================================================
يقوم الأسلوب Request.MapPath بتعيين المسار الظاهري المحدد إلى مسار فعلي.
يستخدم مثال التعليمات البرمجية التالي أسلوب MapPath لتحويل مسار ظاهري إلى مسار فعلي مؤهل بالكامل على الخادم. يتكون هذا المثال من جزأين:
تقوم صفحة .aspx بتعيين المسار وقراءة الملف وعرض نتائج عملية القراءة.
فئة UpperCaseFilterStream التي تغير كافة الأحرف التي تم تمريرها من خلالها إلى أحرف كبيرة.
يوضح الجزء الأول من المثال كيفية استخدام أسلوب MapPath لتحويل مسار ظاهري إلى مسار فعلي مؤهل بالكامل. بعد ذلك، يتم تمرير هذا المسار الفعلي إلى كائن StreamReader، الذي يحتوي على محتويات الملف. ثم قم باستدعاء أسلوب الكتابة لعرض محتويات الملف على الصفحة. يتم استخدام خاصية التصفية لإرفاق عامل تصفية بتدفق الاستجابة الذي يتسبب في كتابة النص المعروض على الصفحة بأحرف كبيرة.
-