# รู้สึกว่าจะต้องหาความรู้พื้นฐานเกี่ยวกับการเขียนเว็บ asp.net ให้มากกว่านี้อ่ะ
# ดีจังไปเจอเว็บนี้ เนื้อหาตรงกับที่ต้องการรู้อยู่พอดี เลยเอาแปะไว้ที่นี้
# ขอบคุณเว็บ http://www.aspnetthai.com/ สำหรับเนื้อหาที่ดีมากๆ เลย ^^'
ส่วนประกอบของเว็บไซต์ใน ASP.NET
ส่วนประกอบของเว็บไซต์ใน ASP.NET 2.0 มีด้วยกัน 3 ส่วนใหญ่ๆ ดังนี้
1. แอพพลิเคชั่นโดเมน ในเว็บไซต์แต่ละ เว็บไซต์ ไม่ว่าจะเป็นเว็บไซต์ที่รันบน ASP .NET 1.x หรือ 2.0 จะประกอบด้วยไฟล์หลายๆ ไฟล์ ที่ทำงานภายใต้หน่วยความจำกลุ่มเดียวกัน และทำงานภายใต้ค่าคอนฟิก (Configuration Setting) เดียวกันที่เรียกว่า แอพพลิเคชั่นโดเมน
ในแต่ละเว็บไซต์ จะมีแอพพลิเคชั่นโดเมนเป็นของตัวเอง แต่ละแอพพลิเคชั่นโดเมนจะไม่สามารถมองเห็นข้อมูลของแอพพลิเคชั่นโดเมนอื่น ได้ เช่น ค่าของตัวแปรเซสชั่น หรือตัวแปรแอพพลิเคชั่น แม้ว่าจะมีหลายๆ แอพพลิเคชั่นโดเมนทำงานอยู่ในเซิร์ฟเวอร์ตัวเดียวกันก็ตาม ซึ่งตรงนี้ทำให้เว็บไซต์มีความปลอดภัยในตัวเอง แต่ถ้าเกิดมีเว็บไซต์บางตัวเกิดตายไป ก็จะไม่ส่งผลกระทบต่อเว็บไซต์อื่นที่อยู่คนละแอพพลิเคชั่นโดเมน ภาพที่ 4-1 แสดงภาพแอพพลิเคชั่นโดเมนบนเว็บเซิร์ฟเวอร์
| ภาพที่ 4-1 แอพพลิเคชั่นโดเมนบนเว็บเซิร์ฟเวอร์ |
เพิ่มเติม ในเว็บไซต์ 1 เว็บไซต์ เราสามารถนำไฟล์ที่สร้างจาก คลาสสิก ASP (*.asp หรือ global.asa) มาบรรจุไว้ในเว็บไซต์ของ ASP .NET เพื่อใช้งานได้ แต่การทำเช่นนี้ จะทำให้เว็บไซต์เราประกอบไปด้วยแอพพลิเคชั่นโดเมน 2 ตัว คือ แอพพลิเคชั่นโดเมนของ คลาสสิก ASP กับ แอพพลิเคชั่นโดเมนของ ASP .NET ซึ่งทั้งสองโดเมนนั้น ไม่สามารถที่จะแลกเปลี่ยนข้อมูลระหว่างกันได้ เนื่องจากอยู่คนละแอพพลิเคชั่นโดเมนนั่นเอง |
2. ไฟล์ในเว็บไซต์ ASP .NET 2.0 เว็บไซต์ที่สร้างบน ASP .NET 2.0 สามารถรองรับไฟล์ที่มีอยู่ใน ASP .NET 1.x ได้ทั้งหมด นอกจากนี้ยังได้เพิ่มไฟล์ชนิดใหม่ ที่ทำให้การพัฒนาเว็บไซต์เป็นไปได้อย่างสะดวกมากขึ้นดังนี้
ไฟล์ชนิดเดิมที่มีในเว็บไซต์ ASP .NET 1.x มีดังนี้
ไอคอน | ชนิดไฟล์ | นามสกุล | รายละเอียด |
| เว็บฟอร์ม | *.aspx | ใช้ออกแบบหน้าเว็บเพจ และติดต่อกับ Code Behind ได้ |
| เว็บยูสเซอร์คอนโทรล | *.ascx | ใช้สร้างคอนโทรลที่ใช้สำหรับเว็บฟอร์ม |
เว็บเซอร์วิส | *.asmx | ใช้สร้างเว็บเซอร์วิส | |
| HTML | *.html | หน้า HTML ที่สามารถบรรจุไคเอนสคริปต์ได้ |
สไตล์ ชีต | *.css | ใช้กำหนดสไตล์ของหน้า HTML | |
| คลาส | *.cs | คลาสเปล่าที่ให้นำไปเขียนโค้ดต่อ |
| ไฟล์ Global Application | *.asax | ไฟล์สำหรับจัดการกับเหตุการณ์ (Event) ต่างๆ ของเว็บไซต์ ทำหน้าที่คล้ายกับไฟล์ global.asa ของคลาสสิค ASP |
| ไฟล์คอนฟิกกูเรชั่น | *.config | ไฟล์สำหรับกำหนดค่าต่างๆ ในเว็บไซต์ |
| XML | *.xml | ไฟล์ XML เปล่า |
| สกีม่าของ XML | *.xsd | ไฟล์สกีม่า ที่ใช้สำหรับตรวจสอบความถูกต้องของ XML |
| เท็กซ์ | *.txt | ไฟล์ข้อความเปล่า |
| รีซอร์ส | *.resx | ไฟล์ที่ใช้เก็บข้อมูลของ .NET |
| เดต้าเซ็ต | *.xsd | ใช้สร้างสกีม่า จากคลาสเดต้าเซ็ต |
| คริสตรัล รีพอร์ต | *.rpt | ไฟล์ที่ใช้สร้างรายงานสำหรับแอพพลิเคชั่นเว็บ และวินโดว์ |
| XSLT | *.xslt | ไฟล์ที่ใช้แปลงข้อมูล XML ให้เป็นรูปแบบต่างๆ |
ไฟล์ชนิดใหม่ ที่เพิ่มเติมเข้ามาในเว็บไซต์ ASP .NET 2.0 มีดังนี้
ไอคอน | ชนิดไฟล์ | นามสกุล | รายละเอียด |
| ฐานข้อมูล SQL | *.mdf | ฐานข้อมูล SQL เปล่า ที่ใช้กับ SQL Server |
| Generic Handler | * .ashx | ไฟล์ที่ใช้จัดการกับร้องขอไฟล์ต่างๆ ภายในเว็บไซต์ |
| แผนผังเว็บไซต์ | *.sitemap | ใช้เก็บแผนที่เว็บไซต์ซึ่งอยู่ในรูปของ XML |
| รายงาน | *.rdlc | ใช้สร้างรายงาน โดยใช้เทคโนโลยีการสร้างรายงานของไมโครซอฟต์ |
| Skin | *.skin | ใช้กำหนดสีสัน (Theme) ภายในเว็บไซต์ |
| Browser | *.browser | ไฟล์ที่ใช้กำหนดความมายของเบราเซอร์ |
| คลาสไดอะแกรม | *.cd | คลาสไดอะแกรม |
3. โฟลเดอร์ในเว็บไซต์ ASP .NET 2.0
ภายในเว็บไซต์ที่สร้างบน ASP .NET 2.0 เราสามารถเพิ่มไฟล์ต่างๆ เช่น Code Behind เว็บฟอร์ม หรือ User Control ได้เหมือนกับเว็บไซต์ที่สร้างบน ASP .NET 1.x แต่ส่วนที่เพิ่มเข้ามาคือโฟลเดอร์ 7 โฟลเดอร์ดังภาพ 4-2
|
ภาพที่ 4-2 โฟลเดอร์ในเว็บไซต์ ASP .NET 2.0 |
เราสามารถเพิ่มโฟลเดอร์เหล่านี้ โดยคลิกขวาที่โปรเจค แล้วเลือก Add ASP .NET Folder จะมีโฟลเดอร์ 7 โฟลเดอร์มาให้เราเลือก ซึ่งโฟลเดอร์เหล่านี้จะมีหน้าที่ต่างๆ กัน ดังตารางด้านล่าง
ไอคอน | ชนิดโฟลเดอร์ | รายละเอียด |
| Bin | บรรจุแอสเซมบลีที่ได้ถูกคอมไพล์ไว้แล้วเพื่อใช้กับเว็บไซต์ |
| App_Browsers | เป็นไฟล์ XML ที่อนุญาตให้เราสามารถเขียนขึ้นมาได้เองเพื่อบอกถึงคุณสมบัติในด้านต่างๆ ทางฝั่งไคลเอนต์ของเบราเซอร์แต่ละชนิด เช่น ไคลเอนต์สคริปต์ การรองรับเฟรม การรองรับคุ๊กกี้ เราสามารถเขียนตรวจสอบเบราเซอร์ขณะติดต่อกับเว็บเซิร์ฟเวอร์ได้ว่าตรงกับ เบราเซอร์ตัวใดที่เรากำหนด เพื่อที่จะได้คืนผลลัพธ์ให้เหมาะสมให้กับไคลเอนต์ |
| App_Code | บรรจุไฟล์คลาสต่างๆ ที่อยู่ในรูปของ Source Code (*.vb หรือ *.cs) โดยไฟล์คลาสที่ถูกเขียนขึ้น แล้วนำไปวางในโฟลเดอร์นี้ จะถูกคอมไพล์โดยอัตโนมัติ ดังนั้นจึงเหมาะสำหรับการเก็บคอมโพเนนต์ หรือไลบรารี่ต่างๆ ที่สามารถถูกเรียกใช้ได้จากเว็บฟอร์มทุกตัวในเว็บไซต์ หลังจากที่มีการคอมไพล์ไฟล์คลาสในโฟลเดอร์นี้แบบอัตโนมัติแล้ว จะได้แอสเซมบลีชุดหนึ่ง ซึ่งจะถูกเก็บไว้ในโฟลเดอร์ชั่วคราว ที่ไม่ได้เก็บในโฟลเดอร์ Bin |
| App_Data | บรรจุไฟล์ข้อมูลต่าง รวมทั้งไฟล์ฐานข้อมูล SQL (*.mdf) หรือไฟล์ข้อมูล XML แต่เราก็ไม่จำเป็นเสมอไปที่จะต้องเก็บไฟล์ข้อมูลไว้ในที่นี้ เป็นเพียงแค่ข้อแนะนำเท่านั้น |
| App_GlobalResources | บรรจุไฟล์รีซอร์สสำหรับ .NET ซึ่งสามารถถูกดึงข้อมูลไปใช้จากทุกเว็บฟอร์มต่างๆ ภายในเว็บไซต์ |
| App_LocalResources | คล้ายกับโฟลเดอร์ App_GlobalResources แต่จะสามารถถูกดึงข้อมูลไปใช้กับเฉพาะเว็บฟอร์มเท่านั้น |
| App_Themes | บรรจุ Theme ที่ใช้กับเว็บไซต์ |
| Theme | บรรจุรูปภาพ และสีสันที่ใช้กับเว็บไซต์ |
| App_WebReferences | บรรจุการอ้างอิงไปถึงเว็บเซอร์วิสอื่นๆ ที่สามารถถูกเรียกใช้ได้ภายในเว็บไซต์ ซึ่งภายในจะบรรจุข้อมูล WSDL และ Discovery ของเว็บเซอร์วิส |
Tip: ไฟล์ที่เรานำไปวางไว้ใต้โฟลเดอร์ Bin และโฟลเดอร์ที่ขึ้นต้นด้วย App ยกเว้น App_Themes นี้ จะไม่สามารถถูกเรียกได้จากไคลเอนต์ เนื่องจากเป็นโฟลเดอร์ที่ถูกบล็อกไว้เพื่อความปลอดภัย มีเฉพาะเว็บไซต์ที่ทำงานบน ASP .NET 2.0 ด้วยเหตุนี้ เราสามารถใช้ความสามารถนี้ในการป้องกันไฟล์สำคัญๆ ได้ เช่น ถ้าเรามีไฟล์ข้อมูลที่เป็น XML ที่เก็บข้อมูลสำคัญ แล้วไม่อยากให้ไคลเอนต์สามารถเข้าถึงได้ เราสามารถก๊อปปี้ไปวางไว้ในโฟลเดอร์ App_Data ได้ |
No comments:
Post a Comment