เกี่ยวกับความคิดเห็นข้างต้น OWIN ไม่ใช่กรอบงาน OWIN เป็นข้อมูลจำเพาะเกี่ยวกับวิธีสร้างเว็บเซิร์ฟเวอร์และเว็บแอปพลิเคชั่นเพื่อที่จะแยกพวกเขาออกและอนุญาตให้มีการย้ายแอปพลิเคชัน ASP.NET ไปยังสภาพแวดล้อมที่ไม่ได้รับการสนับสนุนมาก่อน
ก่อนหน้า OWIN เมื่อสร้างแอปพลิเคชัน ASP.NET คุณผูกพันกับ IIS อย่างแท้จริงเนื่องจากการพึ่งพาอย่างมากในSystem.Web
แอสเซมบลี
System.Web
เป็นสิ่งที่มีอยู่นับตั้งแต่ ASP (ไม่ใช่. NET version) และภายในมีหลายสิ่งที่คุณอาจไม่จำเป็นต้องใช้ (เช่นแบบฟอร์มบนเว็บหรือการอนุญาต URL) ซึ่งโดยค่าเริ่มต้นทั้งหมดทำงานในทุกคำขอทำให้ใช้ทรัพยากรและ ASP แอ็พพลิเคชัน. NET ในล็อตทั่วไปช้ากว่าคู่ของมันเช่น Node.js เป็นต้น
OWIN เองไม่มีเครื่องมือไลบรารีหรือสิ่งอื่นใด มันเป็นเพียงสเปค
Katana เป็นอีกหนึ่งเฟรมเวิร์กที่ได้รับการพัฒนาอย่างเต็มที่เพื่อสร้างสะพานเชื่อมระหว่างเฟรมเวิร์ก ASP.NET ปัจจุบันและข้อกำหนด OWIN ในขณะนี้ Katana ประสบความสำเร็จในการปรับกรอบ ASP.NET ต่อไปนี้เป็น OWIN:
ASP.NET MVC และเว็บฟอร์มยังคงทำงานโดยเฉพาะผ่านทาง System.Web และในระยะยาวจะมีแผนการแยกออกมาเช่นกัน
ในทางกลับกัน IIS เป็นโฮสต์ที่ดีและมีประโยชน์สำหรับเว็บเซิร์ฟเวอร์ ปัญหาประสิทธิภาพการทำงาน ASP.NET ทั้งหมดที่ใช้ IIS มีรากลึกSystem.Web
เท่านั้น จนถึงเมื่อเร็ว ๆ นี้เมื่อตัดสินใจว่าจะโฮสต์เว็บเซิร์ฟเวอร์ของคุณอย่างไรคุณมีสองตัวเลือกดังนี้
ดังนั้นหากคุณต้องการประสิทธิภาพคุณจะต้องเลือกโฮสต์ด้วยตนเอง หากคุณต้องการฟีเจอร์ที่หลากหลายที่ IIS จัดเตรียมไว้ให้คุณจะต้องใช้ IIS แต่ประสิทธิภาพจะลดลง
ขณะนี้มีตัวเลือกที่ 3 คือไลบรารี Microsoft ชื่อHelios (ชื่อรหัสปัจจุบัน) ซึ่งต้องการลบSystem.Web
ออกไปและให้คุณใช้ IIS ในวิธีที่ "สะอาดกว่า" โดยไม่ต้องมีไลบรารีหรือโมดูลที่ไม่จำเป็น ขณะนี้ Helios อยู่ในรุ่นก่อนวางจำหน่ายและกำลังรอผลตอบรับจากชุมชนเพิ่มเติมเพื่อให้สามารถรองรับผลิตภัณฑ์ Microsoft ได้อย่างเต็มที่
หวังว่าคำอธิบายนี้จะอธิบายสิ่งที่ดีกว่าสำหรับคุณ
แก้ไข (ก.ย. 2014):
ด้วย ASP.NET vNext ที่กำลังอยู่ในระหว่างการพัฒนา Katana กำลังจะเกษียณอย่างช้าๆ เวอร์ชั่น 3.0 น่าจะเป็นรุ่นสุดท้ายของ Katana ในฐานะเฟรมเวิร์กแบบสแตนด์อโลน
อย่างไรก็ตามแนวคิดทั้งหมดที่นำมาใช้กับ Katana ได้ถูกรวมเข้ากับ ASP.NET vNext ซึ่งหมายความว่ารูปแบบการเขียนโปรแกรมจะเหมือนกันมาก อ้างอิงจากฟอรั่มโพสต์โดย David Fowler (สถาปนิกของ ASP.NET vNext):
v ถัดไปเป็นตัวตายตัวแทนของ Katana (ซึ่งเป็นสาเหตุที่ทำให้ดูคล้ายกันมาก) Katana เป็นจุดเริ่มต้นของการหยุดพักจาก System.Web และส่วนประกอบแบบแยกส่วนเพิ่มเติมสำหรับเว็บสแต็ก คุณสามารถเห็น vNext เป็นการทำงานที่ต่อเนื่อง แต่จะไปไกลกว่านี้ (CLR ใหม่, ระบบโครงการใหม่, abstract abstract http ใหม่)
ทุกสิ่งที่มีอยู่ใน Katana วันนี้จะทำให้มันกลายเป็น vNext
แก้ไข (ก.พ. 2558):
ASP.NET vNext เป็นที่รู้จักกันในชื่อ ASP.NET 5 และจะถูกสร้างขึ้นบน. NET Core 5. NET Core 5 เป็น. NET Framework รุ่นที่มีน้ำหนักเบาซึ่งออกแบบมาเพื่อรองรับเป้าหมายของ ASP.NET 5 และ. NET Native . อย่างไรก็ตาม ASP.NET 5 จะได้รับการสนับสนุนโดย. NET Framework 4.6 เช่นกันซึ่งน่าจะมีอยู่พร้อมกับ. NET Core 5 ทั้ง ASP.NET 5 และ. NET Core 5 จะได้รับอนุญาตภายใต้ MIT และจะยอมรับการมีส่วนร่วมของชุมชน
แก้ไข (พฤษภาคม 2558):
นอกจากนี้แบรนด์เว็บ ASP.NET API จะถูกยกเลิก แต่เทคโนโลยีก็จะเป็นฐานใหม่ ASP.NET MVC 6. ก่อนหน้ารุ่น ASP.NET MVC ถูกสร้างขึ้นโดยการใช้ IHttpHandler, System.Web
อินเตอร์เฟซที่กำหนดไว้ใน ASP.NET MVC 6 จะลบการอ้างอิงนั้นออกทำให้พกพาไปยังแพลตฟอร์มและเว็บเซิร์ฟเวอร์ต่างๆ
แก้ไข (พฤษภาคม 2559):
ASP.NET 5 จะถูกเปลี่ยนชื่อเป็น ASP.NET Core อย่างเป็นทางการโดยเริ่มต้นจาก Release Candidate 2 ที่มีกำหนดจะวางจำหน่ายเร็ว ๆ นี้ เช่นเดียวกันจะใช้กับ Entity Framework 7 ซึ่งจะถูกเปลี่ยนชื่อเป็น Entity Framework Core ข้อมูลเพิ่มเติมเกี่ยวกับการประกาศอย่างเป็นทางการและเหตุผลที่อยู่ในโพสต์บล็อกของ Scott Hanselman:
ASP.NET 5 is Dead - แนะนำ ASP.NET Core 1.0 และ. NET Core 1.0
แก้ไข (พฤษภาคม 2559):
ด้วยการเปิดตัว Release Candidate 2, ASP.NET หลักได้รับการแก้ไขเพื่อให้อนาคตปพลิเคชันเว็บเป็นจริงเพียง .NET หลักคอนโซลปพลิเคชันการตั้งค่าในการประมวลผลการร้องขอ แนวคิดนี้ทำให้ ASP.NET Core สอดคล้องกับแนวทางของ Microsoft มากขึ้นด้วยการสนับสนุนสถาปัตยกรรมไมโครไซต์และการนำไปใช้ผ่าน Azure Service Fabric ข้อมูลเพิ่มเติมเกี่ยวกับสามารถพบได้ในโพสต์บล็อกอย่างเป็นทางการ:
ประกาศ ASP.NET Core RC2