เมื่อใดที่ฉันควรใช้ OWIN Katana


270

ฉันใหม่สำหรับ OWIN และ Katana ฉันไม่เข้าใจว่าทำไมฉันจึงควรใช้ OWIN ในขณะที่ฉันสามารถIISใช้ได้ เพื่อให้ง่ายขึ้นคำถามของฉันคือ: ฉันจะเสียอะไรถ้าฉันข้ามการเรียนรู้ OWIN และใช้ IIS สำหรับเว็บไซต์ของฉัน

ฉัน googled แต่ไม่มีคำอธิบายง่ายๆ มีข้อมูลบางส่วนอยู่ที่นี่แต่พวกเขาใช้วลีศัพท์แสงบางคำดังนั้นฉันจึงไม่เข้าใจ



2
ฉันสงสัยว่าทิศทางของ OWIN นั้นได้รับอิทธิพลจาก IoT มากน้อยเพียงใด ไม่สามารถติด IIS บน Arduino ได้เราทำได้
Sentinel

คำตอบ:


279

ใน asp.net WebApi v2 ไปป์ไลน์ OWIN จะเป็นค่าเริ่มต้น ในที่สุดมันก็จะเป็นท่อมาตรฐานภายใต้โครงการ asp.net ใด ๆ

ฉันไม่สามารถพูดได้ดีกว่าสิ่งที่เขียนที่นี่: http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana

ส่วน"The Open Web Interface for .NET (OWIN)"อธิบายถึงเป้าหมายของ OWIN ได้อย่างสมบูรณ์แบบ

หากไม่มี OWIN บิต asp.net จะเชื่อมโยงกับวิธีที่ IIS สื่อสารกับแอปพลิเคชัน OWIN บทคัดย่อเว็บเซิร์ฟเวอร์และส่วนประกอบเฟรมเวิร์ก ซึ่งหมายความว่ารหัสแอปพลิเคชันของคุณจะรับรู้ถึงส่วนต่อประสาน OWIN แต่ไม่ใช่เว็บเซิร์ฟเวอร์ที่ให้บริการตามคำขอ

ในทางกลับกันแอปพลิเคชันสามารถพอร์ตได้ง่ายขึ้นระหว่างโฮสต์และแพลตฟอร์ม / ระบบปฏิบัติการทั้งหมด ตัวอย่างเช่นความสามารถในการโฮสต์แอปพลิเคชันในคอนโซลหรือกระบวนการใด ๆ ทำให้โมโนสามารถโฮสต์ได้โดยไม่ต้องใช้ความพยายาม ... (Raspberry Pi ทุกคน)

ด้านที่สองคือมันทำงานเป็นไปได้


Owin Pipeline


คุณสามารถเชื่อมต่อมิดเดิลแวร์ใดก็ได้ (และมากเท่าที่คุณต้องการ) ระหว่างเว็บเซิร์ฟเวอร์และแอปพลิเคชันของคุณ
วิธีนี้ช่วยให้สามารถแก้ปัญหาแบบแยกส่วนได้มากขึ้น คุณสามารถพัฒนามิดเดิลแวร์แบบกระจายต่อที่สามารถส่งผลกระทบต่อคำขอ / การตอบสนองที่มาจากแอปพลิเคชันของคุณ แต่ให้แยกโมดูลเหล่านี้ออกจากรหัสแอปพลิเคชัน

หากต้องการโน้มน้าวใจตัวเองถึงประโยชน์ของวิธีการแบบแยกส่วนนี้ลองดูแพ็คเกจ nuget ที่มีให้สำหรับ OWIN: http://www.nuget.org/packages?q=owin

หลายแพ็คเกจเหล่านี้เคยเป็นฟังก์ชั่นหลักของ asp.net และถูกแยกเป็นมิดเดิลแวร์
ตัวอย่างเช่นการเพิ่มการสนับสนุนการเข้าสู่ระบบโดยใช้ผู้ให้บริการ OAuth ต่างๆกลายเป็นข้อกังวลด้านโครงสร้างพื้นฐาน (มิดเดิลแวร์) และไม่จำเป็นต้องเป็นส่วนหนึ่งของรหัสแอปพลิเคชันของคุณอีกต่อไป:

หรือหากคุณต้องการแทนที่ภาพทั้งหมดจากเว็บไซต์ของคุณด้วยภาพแมวน่ารักโดยอัตโนมัติคุณสามารถทำได้เช่นกัน:

https://github.com/serbrech/Owin.Catify

แก้ไข: ขณะนี้มีให้ใช้งานเป็นแพ็คเกจnuget : Owin.Catify !


คำตอบของคุณเป็นสิ่งที่ดีตามที่ยกมา แต่มันยากสำหรับฉันที่จะคิดออก
Seyed Morteza Mousavi

5
ฉันจะทำให้ดีขึ้นได้อย่างไร คุณไม่เข้าใจอะไร
Stéphane

1
ในขณะที่ OWIN มี benfits ดูเหมือนว่าเป็นการยากที่จะทำการดีบักเนื่องจากโฟลว์การประมวลผลจะ 'กระโดด' จากมิดเดิลแวร์ไปจนถึงมิดเดิลแวร์อย่างมีประสิทธิภาพ แต่ละคนอาจเปลี่ยนการตอบสนองไปพร้อมกัน ดีบักเกอร์แนบของ Visual Studio ดูเหมือนจะไม่สามารถติดตามโฟลว์ และเมื่อมีข้อยกเว้นเกิดขึ้น (บนเว็บแอปพลิเคชัน) คุณจะได้รับหน้าเปล่าที่มีการตอบสนอง 200 OK ไม่มีข้อผิดพลาดทุกที่นอกเหนือจากบันทึกเหตุการณ์ของ Windows
simbolo

7
ฉันพบคำอธิบายที่weblogs.asp.net/pglavich/owin-katana-and-getting-startedมีประโยชน์ มันเป็นวิธีในการแยกแอปพลิเคชันของคุณออกจาก IIS และการพึ่งพาในแอสเซมบลี System.Web การลดจำนวนส่วนประกอบที่อยู่ในขั้นตอน HTTP ดังนั้นจึงทำให้แอปมีน้ำหนักเบา
เทอเรนซ์

2
ฉันต้องเพิ่มสิ่งนั้นในสภาพแวดล้อมปัจจุบันของฉันบางทีมใช้ WebApi และใช้แนนซี่ เนื่องจากทั้งคู่นั่งอยู่ด้านบนของ OWIN เราสามารถแบ่งปันมิดเดิ้ลแวร์เช่นการจัดการ Api Key หรือการพิสูจน์ตัวตนแบบไร้รัฐโดยแยกจากเฟรมเวิร์ก เราปล่อยให้ทีมเลือกสิ่งที่เหมาะสมกับพวกเขามากที่สุด นั่นคือประโยชน์ที่แท้จริงของ OWIN
Stéphane

209
public interface OWIN
{
   void ListenHttpCallAndServeWebPage();    
}

namespace Microsoft.OWIN
{
   public class Katana : OWIN
   {
      public void ListenHttpCallAndServeWebPage()
      {
         // listen to a port for HTTP call and serve web page
      } 
   }
}

ใช่มันเป็นสิ่งที่ถูก. OWIN เป็นอินเตอร์เฟซและ Katana เป็นการดำเนินงานของอินเตอร์เฟซ OWIN โดยไมโครซอฟท์ ดังนั้นเราจึงได้ยินคำ 2 คำนี้ (OWIN / KATANA) ด้วยกันและหลายครั้งที่เราสับสนระหว่างความแตกต่างระหว่าง 2 คำนี้ ดังนั้น Katana คือการใช้งานอินเทอร์เฟซ OWIN ของ Microsoft สมมติว่ามีอีก บริษัท หนึ่งชื่อว่า BIG-BOSS ที่ต้องการสร้างการใช้งาน OWIN ของตัวเองพวกเขาสามารถทำสิ่งนั้นและตั้งชื่อการใช้งานเป็น 'BATANA' และโฆษณาวลีเช่น OWIN / BATANA

ดังนั้นทำไมต้องเป็นเจ้าของ !!!

นึกถึงประเทศที่มียานพาหนะเพียงคันเดียวสำหรับการเคลื่อนไหวคือรถบรรทุก ไม่มีอะไรอีกแล้ว. หากคุณต้องการซื้อรถยนต์คุณจะซื้อรถบรรทุก ดีที่เคยให้บริการดี แต่ผู้คนเริ่มตระหนักว่าพวกเขาไม่ต้องการรถบรรทุกตลอดเวลาโดยเฉพาะอย่างยิ่งเมื่อพวกเขาต้องการไปดูหนังหรือซื้อนมขับรถบรรทุกหนักไม่เพียง แต่ต้นทุนเชื้อเพลิงสูง แต่ยัง เพิ่มความเครียดในการขับขี่ แต่ใช่ถ้าพวกเขาต้องการที่จะบรรทุกของหนักจำนวนมาก

จากนั้นรัฐบาลของประเทศนั้นได้มีข้อกำหนดสำหรับผู้ผลิตรถยนต์ ข้อกำหนดดังต่อไปนี้:

  1. ยานพาหนะต้องมี 4 ล้อ
  2. ยานพาหนะจะต้องมีพวงมาลัย
  3. ยานพาหนะจะต้องมีไฟหน้าและไฟสัญญาณ

ดังนั้นตามข้อกำหนดเหล่านี้ทุกคนสามารถสร้างยานพาหนะตามความต้องการที่แตกต่างกันและพวกเขาสามารถตั้งชื่อยานพาหนะของพวกเขาตาม ดังนั้นรถซีดาน, รถกระบะ, SUV, VAN, และอื่น ๆ ยานพาหนะทุกชนิดปรากฏตัวในตลาด หากใครบางคนไม่จำเป็นต้องแบกของหนักตลอดเวลาแทนที่จะต้องการยานพาหนะเพียงเพื่อไปทำงานเขา / เธอสามารถซื้อรถซีดานตัวเล็ก ๆ ได้ ใครบางคนสามารถซื้อ SUV ได้ถ้าเขาต้องการพลังงานเพิ่มขึ้นเล็กน้อย

จากตัวอย่างข้างต้นเราสามารถพูดได้ว่าแอปพลิเคชั่น ASP.NET Web ของเราใช้แอสเซมบลี System.Web ซึ่งมีการโหลดจำนวนมาก (เช่นรถบรรทุก) และถ้าเราต้องการสร้างแอปพลิเคชันเว็บขนาดเล็กที่จุดประสงค์ของเรา ในชุดคำขอเล็ก ๆ น้อย ๆ เราต้องใช้ชุดประกอบ System.Web หนัก (รถบรรทุก) ตอนนี้ OWIN จะปรากฏขึ้น OWIN เป็นชุดข้อมูลจำเพาะ (เราสามารถเรียกมันว่าอินเตอร์เฟส) ที่กำหนดเซิร์ฟเวอร์ ตามข้อมูลจำเพาะนั้นบางคน (เช่นผู้ผลิตยานพาหนะ) สามารถสร้างเซิร์ฟเวอร์ประเภทต่างๆตามความต้องการของโดเมน / แอปพลิเคชัน Microsoft สร้าง Implementation ของตนเองสำหรับ OWIN ชื่อ Katana ด้วยวิธีเดียวกันกับที่ให้บริการ Web API เนื่องจาก WebAPI เป็นเทคโนโลยีที่มีน้ำหนักเบาซึ่งไม่จำเป็นต้องมีระบบเป่าเต็มสิ่งต่าง ๆ

ตอนนี้ถ้าคุณถามว่า ' ฉันต้องการมันไหม' คำตอบคือ 'ขึ้นอยู่กับความต้องการของคุณ' หากคุณไม่สนใจขับรถบรรทุกของคุณแม้จะไปดูภาพยนตร์คุณก็อาจไม่จำเป็นต้องใช้ OWIN แต่ถ้าคุณรู้สึกว่ารถซีดานน้ำหนักเบานั้นเป็นสิ่งที่คุณต้องขับในเมืองระยะทางเล็ก ๆ ดูหนัง .. ฯลฯ คุณอาจตรวจสอบการใช้งานของ OWIN ที่มีในตลาด Katana เป็นหนึ่งในการใช้งานของ OWIN ดังนั้นคุณสามารถตรวจสอบสิ่งที่ Katana เสนอ ไม่เพียง แต่ Katana หาก บริษัท อื่นดำเนิน OWIN ตามโดเมนเฉพาะ (เช่นเซิร์ฟเวอร์สำหรับอุปกรณ์การแพทย์ซึ่งจะดาวน์โหลดข้อมูลยาล่าสุด) และหากคุณเป็นแพทย์คุณสามารถตรวจสอบการใช้ OWIN นั้นได้ นอกจากนี้คุณเองสามารถสร้างการใช้งาน OWIN ของคุณเองเพื่อกำหนดกลุ่มเป้าหมายเฉพาะ

ในแง่ของเว็บแอพพลิเคชั่นหากคุณเป็นผู้พัฒนาเว็บอย่างง่ายพัฒนาเว็บไซต์ที่กำหนดเองสำหรับลูกค้าของคุณคุณไม่จำเป็นต้องกังวลเกี่ยวกับการใช้ OWIN แบบกำหนดเองเนื่องจาก IIS จะให้บริการคุณอย่างสมดุล หากคุณสร้างโครงการ Web API คุณจะได้รับแม่แบบ Katana ที่สร้างจาก Visual Studio -> โครงการใหม่ดังนั้นคุณจะไม่ต้องกังวลเกี่ยวกับสิ่งอื่นนอกจากเรียนรู้เทคนิคเฉพาะของ Katana ในขณะนี้ Katana ยังไม่โตพอที่จะแทนที่ความต้องการ IIS สำหรับ ASP.NET MVC ได้อย่างสมบูรณ์ แต่บางทีในอนาคตจะเป็นเช่นนั้น

เมื่อใดที่ฉันอาจต้องเขียนการใช้งาน OWIN ของตัวเอง

คำตอบ: ยกตัวอย่างเช่นคุณได้พัฒนาแอปพลิเคชั่น Windows ซึ่งควรทำงานเป็นเซิร์ฟเวอร์ในพื้นหลังและฟังหมายเลขพอร์ต XXXX เซิร์ฟเวอร์ของคุณจะตอบกลับคำขอบางชุดเช่นนี้:

  1. รับสินค้าคงคลัง
  2. ลบ ID คลังโฆษณา = 4
  3. PUT Inventory ID = 5

นั่นคือทั้งหมดที่ และไม่มีอะไรอื่น ดังนั้นทำไมคุณต้องใช้เว็บเซิร์ฟเวอร์ IIS แบบเต็มสำหรับงานเล็ก ๆ นี้ คุณสามารถสร้างการใช้งาน OWIN ของคุณเองในกรณีนั้น (บางทีคุณจะใช้ Katana สำหรับสิ่งนั้น)

ตกลงดังนั้นฉันเข้าใจว่าถ้าฉันต้องการสร้างเว็บไซต์ ASP.NET MVC ฉันไม่มีตัวเลือกในการแทนที่ IIS ดังนั้นทำไมฉันต้องรู้เกี่ยวกับ Katana ในตอนนี้

คำตอบ: แม้ว่า Katana จะไม่โตพอที่จะแทนที่ความต้องการของ IIS เพื่อให้คุณสามารถโฮสต์เว็บไซต์ ASP.NET MVC ของคุณได้โดยตรงบน Katana แต่ Katana ได้ใช้อินเทอร์เฟซแบบเย็นจำนวนมากของ OWIN เพื่อให้คุณสามารถใช้ประโยชน์จากด้านคุณลักษณะเหล่านั้น ข้างๆ. ตัวอย่างเช่นการอนุญาตให้ผู้ใช้ของคุณเข้าสู่ระบบโดยใช้ Facebook, Google, Twitter และอื่น ๆ ไม่ใช่เรื่องง่ายมาก่อน Katana มอบตะขอจำนวนมาก (เป็นเครื่องกลาง) เพื่อให้คุณสามารถปล่อยให้ Katana ดูแลการรับรองความถูกต้องจากสื่อสังคมออนไลน์ได้อย่างง่ายดายโดยไม่ต้องเขียนรหัสการประปา มีประโยชน์อื่น ๆ อีกมากมายสำหรับการใช้ Katana ที่คุณอาจพบเมื่อคุณเริ่มใช้เทคโนโลยีนี้


1
ฉันจะไม่พูดว่า OWIN เป็นอินเตอร์เฟสต่อการพูดเป็นมาตรฐานโปรโตคอลที่เป็นมาตรฐานในการพูดคุยของแอพพลิเคชันกับโฮสต์ แต่สิ่งสำคัญคือต้องแม่นยำว่า Katana เป็นเพียงการดำเนินการตามมาตรฐานที่พัฒนาและดูแลโดย Microsoft การใช้งานอื่น ๆ อยู่ที่นี่: github.com/owin/owin/wiki/Implementations
Stéphane

1
ความสับสนเล็กน้อยเมื่อคุณพูดถึงสเปคของยานพาหนะคือ '4 ล้อ' และจากนั้นบางคนทำรถ 18 ล้อ ... ไม่พอดีกับสเปคแล้วไม่ ... หรือฉันขาดอะไรไป การเปรียบเทียบที่ดีอยู่แล้ว ทำให้ง่ายต่อการเข้าใจ
kurasa

1
@ สเตฟาน: เอาละมันอาจจะไม่เหมือนกับอินเทอร์เฟซเลยฉันพยายามที่จะให้ความคิดระดับสูงเพื่อให้ใครบางคนสามารถเข้าใจความสัมพันธ์ระหว่าง OWIN และ KATANA โดยไม่ต้องถูกครอบงำด้วยศัพท์เทคนิคมากมาย
Emran Hussain

1
"แม้ว่า Katana จะไม่โตพอที่จะแทนที่ความต้องการของ IIS เพื่อให้คุณสามารถโฮสต์เว็บไซต์ ASP.NET MVC ของคุณโดยตรงบน Katana" ดูเหมือนว่าจะระบุว่า IIS ไม่สำคัญเมื่อ Katana คือ 1.0 ไม่ไม่ไม่ถูกต้อง Microsoft มี Microsoft.Owin.Host.IIS พร้อมใช้งานซึ่งช่วยให้เว็บแอป + Katana สามารถโฮสต์บน IIS โดยตรง (โดยไม่ต้องมี System.Web แน่นอน) IIS ยังคงเป็นองค์ประกอบสำคัญสำหรับแอปพลิเคชัน ASP.NET บนแพลตฟอร์ม Microsoft
Lex Li

2
คงจะดีมากถ้าคุณสามารถช่วยฉันในการทำความเข้าใจ -what is lightweight part, i mean if Katana is compared to IIS, by which means it is lightweight ( say it does not do step#1,2,3 etc.. , but IIS does that.
Arindam Nayak

47

คำตอบที่ง่ายกว่านั้นคือ Katana เป็นฆ้องที่จะแทนที่ชุดประกอบ System.Web และ ASP.NET ไปป์ไลน์เดิมซึ่งให้ความยืดหยุ่นที่ดีกว่าทั้งสอง (ใช้ในสถานการณ์ที่มากกว่าและใช้เฉพาะส่วนที่คุณต้องการ) และประสิทธิภาพ

ดังนั้นทุกคนควรดูวิวัฒนาการของมันในตอนนี้และพร้อมที่จะเปลี่ยนเมื่อมันเสร็จสมบูรณ์ในที่สุด

ด้านล่างเป็นแผนภาพฉันวาดในการกรอกรายละเอียดของ Microsoft ล้มเหลวที่จะรวมอยู่ในบทความนี้

ป้อนคำอธิบายรูปภาพที่นี่

OWIN เป็นมาตรฐานที่อนุญาตให้เฟรมเวิร์กแอปพลิเคชันทำงานและลืมทุกสิ่งที่อยู่ข้างใต้ ในทางกลับกัน OWIN เองใช้ประโยชน์จากอะแดปเตอร์โฮสต์ที่หลากหลายเพื่อให้แน่ใจว่ามันสามารถพูดคุยกับเว็บเซิร์ฟเวอร์พื้นฐาน (IIS และอื่น ๆ อีกมากมาย)

ตอนนี้ฉันทำงานร่วมกับผู้เขียนเว็บเซิร์ฟเวอร์ Jexus เพื่อตรวจสอบว่าเราสามารถเขียนอะแดปเตอร์โฮสต์เพื่อเชื่อมโยง OWIN / Katana และ Jexus ได้อย่างไร เรามีความสุขมากที่ได้เรียนรู้ว่า OWIN นั้นมีความยืดหยุ่นและปรับแต่งได้สูง

ข้อมูลอ้างอิง: http://blog.lextudio.com/2014/06/why-owin-matters-a-lot-for-asp-net-developers/


ดังนั้นฉันคำตอบนี้คุณพูดว่า "Katana เป็นฆ้องเพื่อแทนที่ประกอบ System.Web และ ASP.NET ท่อเก่า" นั่นหมายความว่ามันสามารถแทนที่เซิร์ฟเวอร์อะแดปเตอร์ทั้งหมดในไดอะแกรมของคุณด้านบนหรืออาจเป็นเพียงแค่ host.systemweb หรือไม่
netfed

@netfed น่าเสียดายที่ OWIN ทำเองและตอนนี้ ASP.NET Core เข้ามาแทนที่ คำถามนี้และคำตอบทั้งหมดล้าสมัย
Lex Li

อ้า !! ดังนั้นแกน Asp.net จึงมีความสามารถของ Owin? หรือแกน Asp.net ทำงานเป็นชุดของโมดูลที่คุณสามารถใช้เฉพาะโมดูลที่คุณต้องการและไม่ต้องใช้คอลเลกชันขนาดใหญ่ของฟังก์ชั่นที่สร้างขึ้นใน System.web?
netfed

2
@netfed, OWIN ตาย (คีย์บอร์ดมือถือของฉันเปลี่ยนคำพูดของฉัน) ASP.NET System.Webหลักไม่ให้วิธีการมิดเดิลแวร์แม้ว่าและคุณสามารถประกอบชิ้นส่วนของมันในแบบที่คุณชอบและไม่มาก
Lex Li

สรุปแล้วว่าทั้งหมด :-) ขอบคุณสำหรับคำชี้แจง
netfed

15

เหตุใดฉันจึงควรใช้ OWIN ในขณะที่ฉันสามารถใช้ IIS ได้

OWIN ถูกออกแบบมาเพื่อแยกเว็บเซิร์ฟเวอร์จากเฟรมเวิร์กที่คุณทำงาน มันสามารถทำให้แอพพลิเคชั่นมีน้ำหนักเบาและพกพาได้สำหรับกรอบงานผสมและเซิร์ฟเวอร์

และ Katana ก็คือการติดตั้งส่วนประกอบ OWIN ของ Microsoft

ตั้งแต่ไม่กี่ปีที่ผ่านมา Microsoft กำลังทำเครื่องมือบนเว็บให้มีความคล่องตัวและตอบสนองได้ดียิ่งขึ้นตามที่วางแผนไว้ ตัวอย่างเช่นการพัฒนา ASP.Net MVC และ ASP.Net Web API พวกเขาไม่ขึ้นอยู่กับ System.Web dll ซึ่งเป็นภาระใหญ่ที่พวกเขารู้สึกตอนนี้ฉันคิดว่า ข้อดีคือทั้งการแก้ไขการพัฒนาสามารถให้ทันเวลาและรอบเร็วกว่าที่เคย ตอนนี้นักพัฒนาสามารถปรับใช้แอปพลิเคชันเหล่านี้บนโฮสต์ OWIN ที่กำหนดเองหรือ Katana ซึ่งเป็นข้อมูลอ้างอิงของการใช้ OWIN

ประเด็นคืออะไร?

Microsoft ได้เปิดตัวโครงการซึ่งเป็นเว็บโฮสติ้ง OWIN ที่มีน้ำหนักเบาบน IIS ซึ่งเรียกว่า `Helios เป้าหมายคือเพื่อหลีกเลี่ยงความสัมพันธ์ ASP.NET/IIS โดยการจัดหาส่วนประกอบเล็ก ๆ อิสระบางอย่างที่สามารถใช้ติดตั้งและจัดการอย่างอิสระทำงานบนเว็บโฮสต์ที่ใช้ข้อมูลจำเพาะของ OWIN

หนึ่งในเหตุผลหลักคือปัจจัยด้านประสิทธิภาพ Helios จะสามารถรับปริมาณงานได้มากกว่า 2x-3x มากกว่าแอปพลิเคชัน ASP.Net มาตรฐาน ในแง่ของการใช้หน่วยความจำ Helios ดีกว่า System.Web dll ในสถาปัตยกรรมมาตรฐาน Helios ที่ได้รับอนุญาตอนุญาตให้แอปพลิเคชันตัวอย่างบรรลุคำร้องขอ 50000 พร้อมกันโดยมีค่าใช้จ่ายน้อยกว่า 1GB เมื่อเปรียบเทียบกับแอปพลิเคชัน ASP.Net มาตรฐาน


1
คุณอาจพบว่าโพสต์นี้มีประโยชน์ simple-talk.com/dotnet/.net-framework/…
nznoor

0

OWIN เป็นสิ่งที่เป็นนามธรรมระหว่างเว็บแอพพลิเคชันและแพลตฟอร์มโฮสติ้ง หากคุณเขียนเว็บแอปพลิเคชันของคุณโดยใช้ OWIN คุณไม่ได้ผูกติดกับ IIS คุณสามารถใช้โฮสต์อื่นได้หากต้องการ

คุณถามว่าเหตุใดจึงใช้ OWIN แทน IIS แต่สิ่งเหล่านี้ไม่ใช่ทางเลือกซึ่งกันและกัน OWIN ตั้งอยู่ระหว่าง IIS และแอปพลิเคชันของคุณเพื่อให้คุณสามารถสลับ IIS โดยไม่ต้องเขียนแอปพลิเคชันของคุณใหม่

คุณอาจต้องการดูหน้านี้https://github.com/Bikeman868/OwinFramework/wiki/OWIN

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.