ช่วงนี้มีเวลาว่างบ้างเนื่องจากปิดเทอม เลยกลับมาเล่น asp.net mvc จากที่ร้างไปหลังโปรเจ็กต์ APMS - ตอนนั้นยังเป็นรุ่น preview 4 อยู่ มาวันนี้ RC2 เกือบจะ 1.0 อยู่รอมร่อ มี feature ใหม่เต็มไปหมด
ปัญหาใหญ่ของ asp.net mvc คือเรื่อง deployment กับ IIS6 (คนส่วนใหญ่ยังใช้ windows 2003 เป็น server อยู่) ที่ยังมีขั้นตอนยุ่งยากอยู่ ไม่เหมือนกับ web form ที่สร้าง site/virtual directory เสร็จ จบ
จดวิธี setup กับ IIS5.1 ไว้กันลืม
- สร้าง virtual directory โดยเลือก property ของ web application ใน solution ตามรูป
- คลิ้กขวาที่โปรเจ็กต์ asp.net mvc web –> property –> tab Web –> Use IIS Web Server –> กดปุ่ม create ทางขวา
- ไปสร้างเอาเองที่ inetmgr ก็ได้: Start –> Run –> พิมพ์ inetmgr

- ขั้นตอนต่อมาคือการ map wildcard extension
เปิด inetmgr –> คลิ้กขวาที่ virtual directory ที่เพิ่งสร้างเมื่อครู่ –> Properties จะเห็น Dialog ตามรูป
- ที่ tab Virtual Directory กดปุ่ม Configuration –> ที่ Dialog ใหม่ tab Mapping เช็คดูว่ามี “.*” หรือยัง ถ้ายังให้กด Add

- กรอกค่าให้ครบ ข้อควรระวังคือ
- Executable ลองเช็คค่าจาก mapping ตัวอื่น ในเครื่องผมมันอยู่ที่ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
- Extension ใส่ว่า “.*” (ไม่มี quote)
- Check that file exists ให้ติ๊กออก

- เสร็จแล้ว ลองทดสอบผ่านบราวเซอร์ดู
Remarks
- สำหรับ IIS6 จะ add wild card ด้วย dialog ที่หน้าตาเปลี่ยนไปในขั้นตอนที่ 2 – ถ้าจำไม่ผิดให้ใส่ “*” (ไม่มี quote) ไปได้เลย
- วิธีนี้มีผลกับ performance ของระบบ ควรหลีกเลี่ยงไปใช้วิธีอื่นในระบบจริง
References
3 Comments
จดวิธี setup ไว้ที่บล๊อค ไฮโซซ้าาาาา หุหุ
มันต่างกะ asp ยังไง
ปล. วิชาการแน่นปึกมาหลายเอนทรีแล้วนะเนี่ย
I never realized this earlier, other than you make a really solid point indeed!