เส้นทางทางกายภาพของเว็บไซต์บนดิสก์เซิร์ฟเวอร์: HttpRuntime.AppDomainAppPath
เส้นทางโปรแกรมเสมือน: HttpRuntime.AppDomainAppVirtualPath
วิธีการใดๆ ที่เกี่ยวข้องกับ Request/HttpContext.Current ฯลฯ สามารถใช้ได้เฉพาะเมื่อมีบริบทคำขอหรือเพจเท่านั้น กล่าวคือ เมื่อไม่มีบริบทคำขอ HttpContext.Current จะเป็นโมฆะเสมอ
เช่นเดียวกับการเข้าถึงออบเจ็กต์แคชส่วนกลาง
================================================== ================================
ตัวอย่าง: เส้นทางเว็บไซต์ asp.net เอาท์พุต
การตอบสนองเป็นโมฆะส่วนตัวHtml()
-
System.Text.StringBuilder sb = System.Text.StringBuilder(); ใหม่
sb.Append(string.Format("เวลาปัจจุบัน: {0}", Server.HtmlEncode(DateTime.Now.ToString())));
sb.ผนวก("<br />");
sb.Append(string.Format("เส้นทางเสมือนของคำขอปัจจุบัน: {0}",Server.HtmlEncode(Request.CurrentExecutionFilePath)));
sb.ผนวก("<br />");
sb.Append(string.Format("รับเส้นทางไดเรกทอรีรากของแอปพลิเคชันปัจจุบัน: {0}", Server.HtmlEncode(Request.ApplicationPath)));
sb.ผนวก("<br />");
sb.Append(string.Format("เส้นทางเสมือนของคำขอปัจจุบัน: {0}",Server.HtmlEncode(Request.FilePath)));
sb.ผนวก("<br />");
sb.Append(string.Format("เส้นทางเสมือนของคำขอปัจจุบัน: {0}",Server.HtmlEncode(Request.Path)));
sb.ผนวก("<br />");
sb.Append(string.Format("รับเส้นทางระบบไฟล์ฟิสิคัลของไดเร็กทอรีรากของแอปพลิเคชันที่กำลังดำเนินการอยู่: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.ผนวก("<br />");
sb.Append(string.Format("รับเส้นทางระบบไฟล์ฟิสิคัลที่สอดคล้องกับ URL ที่ร้องขอ: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.ผนวก("<br />");
Response.Write(sb.ToString());
-
-
เอาท์พุต: เวลาปัจจุบัน: 30-08-2550 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 และผลลัพธ์จะเป็นดังนี้:
คำขอ ApplicationPath: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
คำขอ FilePath: /testweb/default.aspx
คำขอ เส้นทาง: /testweb/default.aspx
คำขอ PathInfo:
คำขอ PhysicalApplicationPath: E:WWWtestweb
คำขอ PhysicalPath: E:WWWtestwebdefault.aspx
คำขอ RawUrl: /testweb/default.aspx
Request.Url.AbsolutePath: /testweb/default.aspx
คำขอ Url.AbsoluteUri: http://www.test.com/testweb/default.aspx
คำขอ URL โฮสต์: www.test.com
คำขอ Url.LocalPath: /testweb/default.aspx
คุณสามารถใช้สิ่งนี้ได้เมื่อมีพารามิเตอร์ใน url:
HttpContext.Current.Request.Url.PathAndQuery.ToString()//
ที่อยู่ของหน้านี้: Request.URL;
ที่อยู่หน้าก่อนหน้า:
คำขอ URL ผู้อ้างอิง
คำขอ ServerViables ["http_referer"]
คำขอ RawUrl
คำขอ RawUrl.QueryAndPath
System.IO.Path.GetFileName(Request.FilePath.ToString())
ประเภท HttpRequest เปิดเผยสมาชิกต่อไปนี้
คำอธิบายชื่อตัวสร้าง
โครงสร้างพื้นฐาน HttpRequest เตรียมใช้งานวัตถุ HttpRequest
คำอธิบายชื่อวิธีการยอดนิยม
BinaryRead ดำเนินการอ่านไบนารีของจำนวนไบต์ที่ระบุจากสตรีมอินพุตปัจจุบัน
เท่ากับ กำหนดว่าวัตถุที่ระบุเท่ากับวัตถุปัจจุบันหรือไม่ (สืบทอดมาจากวัตถุ)
การสรุปผลช่วยให้ออบเจ็กต์พยายามปล่อยทรัพยากรและดำเนินการล้างข้อมูลอื่นๆ ก่อนที่ Garbage Collection จะเรียกคืนออบเจ็กต์ (สืบทอดมาจากวัตถุ)
GetHashCode ใช้เป็นฟังก์ชันแฮชสำหรับประเภทเฉพาะ (สืบทอดมาจากวัตถุ)
GetType รับประเภทของอินสแตนซ์ปัจจุบัน (สืบทอดมาจากวัตถุ)
MapImageCoordinates จับคู่พารามิเตอร์แบบฟอร์มฟิลด์รูปภาพขาเข้ากับค่าพิกัด x และ y ที่เหมาะสม
MapPath ได้รับการโหลดซ้ำแล้ว แมปเส้นทางเสมือนใน URL ที่ร้องขอกับเส้นทางจริงบนเซิร์ฟเวอร์สำหรับคำขอปัจจุบัน
MemberwiseClone สร้างสำเนาแบบตื้นของวัตถุปัจจุบัน (สืบทอดมาจากวัตถุ)
SaveAs บันทึกคำขอ HTTP ลงดิสก์
ToString ส่งกลับสตริงที่เป็นตัวแทนของวัตถุปัจจุบัน (สืบทอดมาจากวัตถุ)
ValidateInput ตรวจสอบคอลเลกชันที่เข้าถึงผ่านคุณสมบัติ Cookies, Form และ 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)
รายการรับวัตถุที่ระบุจากคอลเลกชัน Cookies, Form, QueryString หรือ ServerVariables
LogonUserIdentity รับประเภท WindowsIdentity ของผู้ใช้ปัจจุบัน
Params รับชุดรวมของรายการ QueryString, Form, ServerVariables และ Cookies
Path ได้รับเส้นทางเสมือนของคำขอปัจจุบัน
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 จะชัดเจนมาก application)-ตัวอย่างเช่น มีชื่อหนึ่งชื่อโดเมนแอปพลิเคชันเว็บของฉันคือ MySite.com ชื่อหนึ่งแมปไปยังไดเร็กทอรี MySite.com/1/ และอีกชื่อหนึ่งหมายถึง http://MySite.com/2/
MySite.com/1/ คือ ApplicationPath ของแอปพลิเคชันแรก ในทำนองเดียวกัน MySite.com/2/ คือ ApplicationPath ของแอปพลิเคชันที่สอง
2.Request.FilePath->สอดคล้องกับไดเรกทอรีเสมือนของ iis เช่น URL http://MySite.com/1/index.html/pathinfo
FilePath = /1/index.html
3.Request.Path->เส้นทางเสมือนของคำขอปัจจุบัน
Path คือการเชื่อมโยงระหว่างส่วนท้ายของ FilePath และ PathInfo ตัวอย่างเช่น URL http://MySite.com/1/index.html/pathinfo
จากนั้น Path = /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 รับเส้นทางเสมือนของคำขอปัจจุบัน Path คือการเชื่อมโยงระหว่างส่วนท้ายของ FilePath และ PathInfo ตัวอย่างเช่น สำหรับ URL http://www.contoso.com/virdir/page.html/tail พาธคือ /virdir/page.html/tail
================================================== ================================================== ===========================
เมธอด Request.MapPath แมปเส้นทางเสมือนที่ระบุกับเส้นทางฟิสิคัล
ตัวอย่างโค้ดต่อไปนี้ใช้เมธอด MapPath เพื่อแปลงเส้นทางเสมือนเป็นเส้นทางทางกายภาพแบบเต็มบนเซิร์ฟเวอร์ ตัวอย่างนี้ประกอบด้วยสองส่วน:
หน้า .aspx แมปเส้นทาง อ่านไฟล์ และแสดงผลลัพธ์ของการดำเนินการอ่าน
คลาส UpperCaseFilterStream ที่เปลี่ยนอักขระทั้งหมดที่ส่งผ่านเป็นตัวพิมพ์ใหญ่
ส่วนแรกของตัวอย่างแสดงวิธีการใช้เมธอด MapPath เพื่อแปลงเส้นทางเสมือนเป็นเส้นทางทางกายภาพแบบเต็ม หลังจากนั้น เส้นทางทางกายภาพนี้จะถูกส่งผ่านไปยังวัตถุ StreamReader ซึ่งมีเนื้อหาของไฟล์ จากนั้น เรียกวิธีการเขียนเพื่อแสดงเนื้อหาของไฟล์บนเพจ คุณสมบัติตัวกรองใช้เพื่อแนบตัวกรองกับโฟลว์การตอบสนองที่ทำให้ข้อความที่แสดงบนเพจเป็นตัวพิมพ์ใหญ่ทั้งหมด
-