แนะนำ: แบ่งปัน: บทนำเกี่ยวกับคุณสมบัติและวิธีการของคำขอ XML HTTP เนื่องจากตอนนี้คุณมีความรับผิดชอบในการสร้างหน้าคงที่มาตรฐานใน บริษัท เพื่อปรับปรุงประสบการณ์ของลูกค้าคุณมักจะต้องทำเอฟเฟกต์ Ajax และเรียนรู้ Ajax เช่นฉัน เทคโนโลยีที่สำคัญ (เครื่องมือ) ที่ใช้เมื่อออกแบบ AJAX เป็นวัตถุ XMLHTTPREQUEST ที่นี่
แอปพลิเคชันเซิร์ฟเวอร์เป็นหรือในที่สุดจะถูกใช้งานโดยเว็บเซิร์ฟเวอร์และโดยปกติแล้วจะเป็นคอมพิวเตอร์ IIS ที่เรียกใช้หน้า ASP ASP เป็นลูกค้าเดียวของวัตถุของคุณ มันนำข้อควรพิจารณาเกี่ยวกับเกลียวและความปลอดภัยเป็นพิเศษแม้ว่าเว็บไซต์จำนวนมากที่ใช้ ASP ไม่ได้ใช้ส่วนประกอบเลยในบทความนี้ ASP ถือว่าเป็นสะพานเชื่อมระหว่างลูกค้าอินเทอร์เน็ตและส่วนประกอบ มีการจัดเตรียมแนวทางส่วนประกอบ ASP ต่อไปนี้ (เป็นภาษาอังกฤษ)
บริการแผนก ASP และส่วนประกอบ
ASP มักใช้เพื่อสร้างไฟล์ HTML หรือ XML เพื่อใช้งานโดยลูกค้าบนเซิร์ฟเวอร์ดังนั้นเราจึงพูดถึงสถานการณ์การใช้งานนี้เป็นหลัก สิ่งนี้ทำให้เกิดคำถามทั่วไป: หากหน้า ASP อยู่บนเซิร์ฟเวอร์พวกเขาจะเป็นส่วนหนึ่งของเลเยอร์ธุรกิจหรือไม่? ในโลกส่วนประกอบคำตอบมักจะไม่ ในขณะที่ ASP ทำงานบนเซิร์ฟเวอร์และอาจอยู่ในพื้นที่เดียวกับแอปพลิเคชันเซิร์ฟเวอร์สิ่งนี้ไม่ได้ทำให้เป็นส่วนหนึ่งของตรรกะทางธุรกิจ
ด้วยเครื่องมืออินเทอร์เฟซผู้ใช้ที่กำลังเติบโตหรือเป็นโซลูชั่นธุรกิจกับธุรกิจมากขึ้นการมีความแตกต่างที่ชัดเจนนี้จะได้รับรางวัลมากมาย
ต้องบอกว่าลองดูที่ชั้นธุรกิจที่สำคัญที่สุดและเกณฑ์การแบ่งชั้นนำเสนอ:
แยกรหัส UI จากตรรกะทางธุรกิจ ซึ่งรวมถึงการเขียนโค้ดควบคู่ไปกับ UI เช่นการใช้วัตถุ MTS ที่ใช้องค์ประกอบภายใน ASP เพื่อแยกออกจากรหัสตรรกะทางธุรกิจราวกับว่ามันอยู่ใน DLL ที่แตกต่างกัน
แยกธุรกรรมออกจากหน้า ASP การทำธุรกรรม ASP นั้นดีมากในบางกรณี แต่ส่วนประกอบและแอปพลิเคชันหลายระดับเปลี่ยนสิ่งนี้ ส่วนประกอบไม่ควรพึ่งพาเลเยอร์ลูกค้าเพื่อจัดการธุรกรรมและความหมายของตรรกะทางธุรกิจ
วางส่วนประกอบที่เป็นตัวแทน (ส่วนประกอบที่ใช้การร้องขอและการตอบกลับ) ในเครื่องเดียวกันและ/หรือประมวลผลเป็นเว็บเซิร์ฟเวอร์ หากวัตถุที่ใช้วัตถุส่วนประกอบภายใน ASP ถูกวางไว้บนเครื่องระยะไกลการโทรทั้งหมดไปยังส่วนประกอบภายในจะเกิดขึ้นในรูปแบบการโทรกลับ เซิร์ฟเวอร์ COM ที่เรียกไคลเอ็นต์ IIS เป็นเซิร์ฟเวอร์ COM ซึ่งช่วยลดประสิทธิภาพและการกำหนดค่าความปลอดภัยที่ซับซ้อน วัตถุปรับแต่งเหล่านี้สามารถวางไว้ในแอปพลิเคชัน COM ที่ทำเครื่องหมายว่าเป็นการเปิดใช้งานไลบรารี
ASP มีอยู่บนเซิร์ฟเวอร์ดังนั้นหน้า ASP จะต้องปฏิบัติตามกฎการแบ่งปันทรัพยากรและโปรดจำไว้ว่าการปรับขนาดได้ โปรดดูรายละเอียดด้านล่าง:
ในเซสชันการจัดการควรพยายามหลีกเลี่ยงสถานะเฉพาะของผู้ใช้
เก็บ ASP ไร้สัญชาติและอนุญาตให้กลุ่มทรัพยากรเป็นไปได้
วิธีการดำเนินงาน
เมื่อประเมินว่าเซ็กเมนต์รหัสเป็นของตรรกะทางธุรกิจหรือเลเยอร์การนำเสนอโปรดถามตัวเองว่าถ้าฉันต้องใช้แอปพลิเคชันโทรศัพท์ประเภทปุ่มแทนหน้า ASP ของฉันรหัสจะยังคงทำงานอยู่หรือไม่? หากคำตอบคือใช่คุณสามารถลองแบ่งออกเป็นรหัสตรรกะทางธุรกิจหรือรหัสผู้ช่วยผู้ใช้
หากไม่สามารถใช้รหัสหลังจากเปลี่ยนไคลเอนต์หรือเป็นตัวช่วยในการสร้างส่วนต่อประสานผู้ใช้รหัสจะเป็นของเลเยอร์บริการตัวแทน มันอยู่ในหน้า ASP หรือในส่วนประกอบที่ใช้ส่วนประกอบภายใน ASP มันไม่ได้เป็นขององค์ประกอบวัตถุธุรกิจ
เข้าใจความแตกต่างระหว่างเดสก์ท็อปและไคลเอนต์ ASP
ASP เป็นไคลเอนต์พิเศษของส่วนประกอบซึ่งแตกต่างจากแอปพลิเคชัน Win32 แบบดั้งเดิมแบบดั้งเดิมบนเดสก์ท็อป ความแตกต่างหลักสรุปไว้ดังนี้
การจัดการเธรด: ASP เป็นไคลเอนต์แบบมัลติเธรด ซึ่งหมายความว่าอาจมีกิจกรรมที่เกิดขึ้นพร้อมกันจำนวนมากที่ทำงานร่วมกันบางทีอาจจัดการกับหน้า ASP ที่แตกต่างกันในเวลาเดียวกัน ซึ่งหมายความว่าวัตถุนั้นไม่สามารถทำเพื่ออ้างสิทธิ์ได้ว่าเป็นผู้ใช้เพียงคนเดียวที่ครอบครองระบบโดยเฉพาะ การทำเช่นนี้อาจทำให้เกิดปฏิกิริยาที่ไม่คาดคิดเช่นการพัฒนานิสัยที่ไม่ดีในการจัดเก็บวัตถุในเซสชัน ASP หรือตัวแปรแอปพลิเคชัน
สภาพแวดล้อมด้านความปลอดภัย: ASP ดำเนินการโดย Internet Information Services 5.0 ในเว็บไซต์โดยมีสามระดับการแยก: ต่ำปานกลางและสูง แม้แต่เว็บไซต์เหล่านี้ก็สามารถมีการตั้งค่าความปลอดภัยที่แตกต่างกันอนุญาตหรือปฏิเสธการเข้าถึงที่ไม่ระบุชื่อการรับรองความถูกต้องของลูกค้าและอื่น ๆ การตั้งค่าทั้งหมดเหล่านี้สร้างแผนการจำนวนมากที่บัญชีผู้ใช้ที่แตกต่างกันจบลงด้วยการใช้วัตถุของคุณ
การเติบโตอย่างง่ายดาย: นี่ไม่ใช่ปัญหาทางเทคนิค แต่เป็นผลข้างเคียงของสิ่งอำนวยความสะดวกที่จัดทำโดยเว็บแอปพลิเคชัน ตามเนื้อผ้าการเพิ่มฐานผู้ใช้ในแอปพลิเคชันเดสก์ท็อปต้องมีการวางแผนการถ่ายโอนอย่างระมัดระวังไปยังจำนวนลูกค้าที่รู้จัก ASP ได้เปลี่ยนกระบวนการแล้ว แอปพลิเคชั่นพื้นฐาน ASP-visual สามารถเปิดได้อย่างง่ายดายสำหรับพนักงานทุกคนพันธมิตรทางธุรกิจและลูกค้าทั้งหมดในท้องถิ่นหรือทั่วโลก สามารถอธิบายได้ด้วยวิธีนี้ - อีเมลเดียวที่มีไฮเปอร์ลิงก์สามารถขยายฐานผู้ใช้เป็นสิบเท่า แอพของคุณพร้อมสำหรับสิ่งนี้หรือไม่? วิธีเดียวที่จะรู้คือการทดสอบความแข็งแกร่งบนเว็บไซต์เพื่อรับมูลค่าที่คาดหวังของประสิทธิภาพจริง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบความเข้มโปรดดูส่วน Lifecycle ของแอปพลิเคชัน
ควรใช้วัตถุพื้นฐานแบบ Visual ภายใน ASP อย่างไร สร้างและยกเลิกวัตถุของคุณภายในขอบเขตหน้า นั่นคือทำให้หน้า ASP ไร้สัญชาติมากที่สุดและขึ้นอยู่กับตัวแปรเซสชันหรือแอปพลิเคชันในสถานะชั่วคราว อย่าจัดเก็บวัตถุในเซสชันหรือตัวแปรแอปพลิเคชัน สิ่งนี้ล็อคเธรด ASP ไปยังเซสชันของคุณยกเลิกค่าที่คาดหวังทั้งหมดเพื่อความสามารถในการปรับขนาด กล่าวคือจำนวนผู้ใช้ที่ประมวลผลโดยเว็บเซิร์ฟเวอร์จะไม่เกินผู้ใช้หลายสิบคน หากคุณต้องการจัดเก็บเนื้อหาในเซสชันหรือแอปพลิเคชันให้เป็นข้อมูลแทนที่จะเป็นวัตถุ
มีแนวทางอื่น ๆ อีกมากมายที่ต้องปฏิบัติตาม เราขอแนะนำให้คุณอ่านคอลัมน์ servin 'มันเขียนโดย JD Meier บน MSDN Voices คอลัมน์นี้รวมถึงเทคนิคการปฏิบัติและเคล็ดลับที่หลากหลายที่ช่วยพัฒนาแอปพลิเคชัน ASP และส่วนประกอบที่ปรับขนาดได้และส่วนประกอบ
อ้างถึง
MSDN Voices: คอลัมน์ Servin 'It Up (ภาษาอังกฤษ)
SeminarOnline: ใช้ส่วนประกอบ COM ที่กำหนดเองภายใต้ ASP (ภาษาอังกฤษ)
นิตยสาร MSDN (ภาษาอังกฤษ)
อย่าเก็บข้อมูลอ้างอิงในวัตถุ VB ในเซสชันหรือแอปพลิเคชัน
ส่วนประกอบ Visual Basic 6.0 ทั้งหมดเป็นเกลียวเซลล์ซึ่งหมายความว่าพวกมันทั้งหมดทำงานในหน่วย STA ซึ่งหมายความว่าหากวัตถุถูกสร้างขึ้นในเธรดการเรียกทั้งหมดไปยังวัตถุนั้นจะต้องเสิร์ฟโดยเธรดเดียวกัน เธรดจำนวนมาก (จากผู้ใช้เว็บไซต์ที่เกิดขึ้นพร้อมกัน) ใช้อินสแตนซ์เดียวกันของวัตถุ STA ทำให้เกิดกิจกรรมที่สามารถกลายเป็นคอขวดในแอปพลิเคชัน
นอกจากนี้การจัดเก็บออบเจ็กต์ STA ที่สร้างขึ้นด้วย Server.createObject ภายในขอบเขตเซสชันสามารถติดต่อเธรดการดำเนินการกับผู้ใช้ปัจจุบันได้อย่างมีประสิทธิภาพดังนั้นการ จำกัด จำนวนผู้ใช้ที่เกิดขึ้นพร้อมกันสูงสุดของแอปพลิเคชันกับ 20xn เริ่มต้น (n = จำนวนโปรเซสเซอร์)
วิธีการดำเนินงาน
หากคุณทำตามคำแนะนำของเราเพื่อสร้างวัตถุไร้สัญชาติคุณไม่จำเป็นต้องจัดเก็บข้อมูลอ้างอิงสำหรับการนำลูกค้ากลับมาใช้ซ้ำและจัดเก็บไว้ในขอบเขตแอปพลิเคชัน ลูกค้าจะสามารถสร้างใช้และยกเลิกวัตถุของตนเองได้อย่างอิสระ สิ่งนี้จะช่วยลดความจำเป็นในการรักษาวัตถุเฉพาะเซสชันเนื่องจากไม่รักษาสถานะเฉพาะเซสชัน
วิธีที่แนะนำคือทำให้วัตถุไร้สัญชาติซึ่งเข้าถึงฐานข้อมูลหรือพื้นที่จัดเก็บอื่น ๆ (เช่นคุกกี้และ LDAP) เมื่อจำเป็น
หากคุณต้องการใช้เซสชันหรือข้อมูลทั่วทั้งแอปพลิเคชันจัดเก็บข้อมูลแทนที่จะเป็นวัตถุที่ประมวลผลข้อมูลที่นี่ คุณสามารถสร้างคลาสที่ห่อหุ้มการประมวลผลของค่าที่ต้องการ
อ้างถึง
ข้อความ: อย่าเก็บวัตถุ STA ในเซสชันหรือแอปพลิเคชัน (Q243543) (ภาษาอังกฤษ)
PRB: เก็บส่วนประกอบ STA Com ในเซสชันและล็อคเซสชันในเธรดเดียว (Q243815) (ภาษาอังกฤษ)
ข้อมูล: สรุปโมเดลการทำเกลียวส่วนประกอบภายใต้ ASP (Q243544) (ภาษาอังกฤษ)
เรียนรู้เนื้อหาใหม่ใน IIS 5.0
Internet Information Server 5.0 เพิ่มคุณสมบัติใหม่มากมาย การปรับปรุงเหล่านี้ถูกเขียนลงในบทความ MSDN ของ JD Meier: ใช้ ASP ใน IIS 5.0 (ภาษาอังกฤษ) ด้านล่างนี้เป็นภาพรวมของการปรับปรุงที่สำคัญที่สุดในบทความนี้
ปรับปรุงประสิทธิภาพที่ยอดเยี่ยม
Server.transfer และ Server.execute Methods
การจัดการข้อผิดพลาดส่วนกลาง
ปรับปรุงคุณสมบัติของเบราว์เซอร์
ปรับปรุงเครื่องยนต์สคริปต์
เครื่องวิเคราะห์การแสดงออกปกติ
การรวมเข้ากับฟังก์ชั่น XML Set Ado Record
ความสามารถด้านความปลอดภัยใหม่บัฟเฟอร์การแยกและความสามารถในการจัดการ
อ้างถึง
การเปลี่ยนแปลงที่สำคัญใน ASP (เป็นภาษาอังกฤษ)
แบ่งปัน: เคล็ดลับ: รับตัวอย่างของค่าการกำหนดหมายเลขอัตโนมัติของบันทึกที่คุณเพิ่งแทรก สำหรับฐานข้อมูลการเข้าถึงและ SQL เซิร์ฟเวอร์วิธีการต่อไปนี้สามารถรับค่าการกำหนดหมายเลขอัตโนมัติของบันทึกที่เพิ่งแทรก 'รับค่าหมายเลขอัตโนมัติของบันทึกที่คุณเพิ่งแทรกและต่อไปนี้เป็นเนื้อหาอ้างอิง: