ทันใดนั้นฉันก็ค้นพบว่า ASP.NET 2.0 นั้นให้การสนับสนุน UrlMapping อย่างเป็นธรรมชาติ - ส่วน
<การกำหนดค่า>
<เพิ่ม url="~/2006/07" mappedUrl="~/Month.aspx?year=2006&month=01"/>
<เพิ่ม url="~/2006/08" mappedUrl="~/Month.aspx?year=2006&month=02"/>
<คอมไพล์ดีบัก = "true"/>
การกำหนดค่า>
การกำหนดค่านี้อนุญาตให้โปรแกรม ASP.NET รองรับ UrlMapping ใน ASP.NET Development Server ได้โดยตรง (นั่นคือ เลือกระบบไฟล์เมื่อสร้างโครงการ ASP.NET) แต่มีข้อบกพร่องหลายประการ:
1. สามารถแมปที่อยู่คงที่ได้เท่านั้น ดังนั้นจึงกำหนดค่าได้เพียงที่อยู่เดียวเท่านั้น
2. ไม่จำเป็นต้องกำหนดค่าอื่นใดใน ASP.NET Development Server เนื่องจากโมเดลการตอบสนองคำขอใน IIS จึงคาดว่าการแมปจำเป็นต้องตั้งค่าใน IIS ในกรณีนี้ ฉันกำลังค้นหาข้อมูลทุกที่เพื่อดูวิธีตั้งค่าการแมปใน ASP.NET Development Server แต่ผลลัพธ์ก็คือไม่ได้ผล
เนื่องจากข้อบกพร่องของ UrlMapping ที่ไม่รองรับนิพจน์ทั่วไป ฉันจึงสร้าง UrlMapping ที่รองรับนิพจน์ทั่วไป น่าเสียดาย เนื่องจาก UrlMapping ถูกเรียกโดย HttpApplication และ HttpApplication เป็นแบบภายใน จึงไม่สามารถทำอะไรกับมันได้ ดังนั้นการใช้งานจึงไม่น่าเชื่อถือ เมื่อเปรียบเทียบกับ UrlMapping
ให้ดาวน์โหลดไฟล์
ตัวอย่างการกำหนดค่าใน Web.config คือ ดังต่อไปนี้:
<การกำหนดค่า>
<ชื่อส่วน = "RegexUrlMappings" type = "Cnblogs.DTC.THIN.RegexUrlMapping.RegexUrlMappingsSection, Cnblogs.DTC.THIN.RegexUrlMapping"/>
<เพิ่ม url="(d+)$" mappedUrl="default.aspx?id=$1"/>
<เพิ่ม url="(?<=/)(?<id>[az]+)$" mappedUrl="default.aspx?id=${id}" />
<เพิ่ม url="/$" mappedUrl="/default.aspx?id=0"/>
การแมป RegexUrl>
<เพิ่มชื่อ = "RegexUrlMappingModule" type = "Cnblogs.DTC.THIN.RegexUrlMapping.RegexUrlMappingModule, Cnblogs.DTC.THIN.RegexUrlMapping"/>
<คอมไพล์ดีบัก = "true"/>
<โหมดการรับรองความถูกต้อง = "Windows"/>
แอตทริบิวต์ที่เปิดใช้งานของ RegexUrlMapping ใช้เพื่อเปิดและปิดการแมป สำหรับ rebaseClientPath โปรดดูพารามิเตอร์ rebaseClientPath ใน HttpContext.RewritePath
การเพิ่มครั้งที่สองใช้ (?
http //www.cnblogs.com/thinhunan/archive/2006/08/22/regexurlmapping.html