Deploy ASP.NET MVC with IIS 5.1 (Windows XP)

ช่วงนี้มีเวลาว่างบ้างเนื่องจากปิดเทอม เลยกลับมาเล่น 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 ไว้กันลืม

  1. สร้าง virtual directory โดยเลือก property ของ web application ใน solution ตามรูป
    - คลิ้กขวาที่โปรเจ็กต์ asp.net mvc web –> property –> tab Web –> Use IIS Web Server –> กดปุ่ม create ทางขวา
    - ไปสร้างเอาเองที่ inetmgr ก็ได้: Start –> Run –> พิมพ์ inetmgr
    aspnet_mvc_deploy_iis_1
  2. ขั้นตอนต่อมาคือการ map wildcard extension
    เปิด inetmgr –> คลิ้กขวาที่ virtual directory ที่เพิ่งสร้างเมื่อครู่ –> Properties จะเห็น Dialog ตามรูป
    - ที่ tab Virtual Directory กดปุ่ม Configuration –> ที่ Dialog ใหม่ tab Mapping เช็คดูว่ามี “.*” หรือยัง ถ้ายังให้กด Add
    aspnet_mvc_deploy_iis_2
  3. กรอกค่าให้ครบ ข้อควรระวังคือ
    - Executable ลองเช็คค่าจาก mapping ตัวอื่น ในเครื่องผมมันอยู่ที่ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
    - Extension ใส่ว่า “.*” (ไม่มี quote)
    - Check that file exists ให้ติ๊กออก
    aspnet_mvc_deploy_iis_3
  4. เสร็จแล้ว ลองทดสอบผ่านบราวเซอร์ดู

Remarks

  • สำหรับ IIS6 จะ add wild card ด้วย dialog ที่หน้าตาเปลี่ยนไปในขั้นตอนที่ 2 – ถ้าจำไม่ผิดให้ใส่ “*” (ไม่มี quote) ไปได้เลย
  • วิธีนี้มีผลกับ performance ของระบบ ควรหลีกเลี่ยงไปใช้วิธีอื่นในระบบจริง

References

3 Comments

  1. Hana
    Posted March 16, 2009 at 3:54 pm | #

    จดวิธี setup ไว้ที่บล๊อค ไฮโซซ้าาาาา หุหุ

  2. Orbit
    Posted March 16, 2009 at 11:21 pm | #

    มันต่างกะ asp ยังไง

    ปล. วิชาการแน่นปึกมาหลายเอนทรีแล้วนะเนี่ย

  3. Posted January 24, 2011 at 10:21 am | #

    I never realized this earlier, other than you make a really solid point indeed!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>