2013-10-25 6 views
18

Visual Studio 2013에서 표준 MVC 5 프로젝트를 보면 현재 OWIN이 포함되어 있음을 알 수 있습니다.OWIN이 아직 MVC를 호출합니까 (ASP.NET MVC)?

인증을 구성하는 새로운 OWIN 시작 클래스가 있지만 MVC5가 OWIN에 등록 된 방법/위치를 볼 수 없습니다. 이것이 어디에서 발생합니까?

모든 요청이 MVC 파이프 라인에 들어가기 전에 OWIN을 통과한다고 가정합니다. 왜 그들은 OWIN을 포함할까요?

  • 참고 : 저는 OWIN이 어떻게 설정되어 있는지 묻지 않습니다. 문서에서 쉽게 설명 할 수 있습니다. MVC5가 OWIN을 사용하는 방법에 관심이 있습니다.
+0

글쎄, ASP.NET vNEXT는 OWIN과 Helios 프로젝트를 사용합니다. –

+0

그냥 추측입니까, 아니면 오윈이 사용될 소스를 찾았습니까? 소스를 찾으면 공유 하시겠습니까? – Rune

+0

이 게시물에서 Helios (OWIN에서 실행되고 System.Web을 대신 함)를 볼 수 있으며 통합 된 MVC/Web.Api가 확인되었습니다. http://davidfowl.com/asp-net-vnext/ –

답변

17

업데이트 : OWIN 대신 IIS 파이프 라인에서 요청을 처리하더라도 MVC5가 OWIN을 사용하는 이유를 알았습니다.

MVC5는 OWIN을 통과하지 않지만 향후 변경 될 수 있습니다. 대신 MVC는 현재 IIS 통합 파이프 라인을 통과해야합니다. OWIN이 기본 MVC 프로젝트에 포함 된 이유는 MVC5가 Owin 미들웨어 구성 요소를 사용할 수 있기 때문입니다. OWIN middleware in the iis integrated pipeline에서

: OMC이 같은 이벤트 기반 실행 순서에 참여하기 위해서는

에서, 카타나 런타임 코드의 시작 구성을 통해 스캔과가 미들웨어 구성 요소를 각각 구독

통합 파이프 라인 이벤트.

Web.Api와 MVC가 결합되어 System.Web을 중단하고 OWIN과 Helios 프로젝트를 선호하므로이 변경은 ASP.NET vNext에서 변경됩니다.

8
  • MVC 5는 OWIN에 등록되지 않았습니다.
  • OWIN은 응용 프로그램 (PreApplicationStartMethod) 전에 시작하도록 등록되어 있습니다.
  • 그리고 사전 응용 프로그램 시작시 OwinStartup 등록 클래스는 현재 응용 프로그램을 구성하는 데 사용됩니다.

[assembly: OwinStartup(typeof(WebApplication1.Startup))]

startup.cs에 위의 라인은 OWIN을 구성하는 클래스를로드합니다. Look more OWIN Startup class detection

+0

이것은 왜 OWIN이 사용되는지 설명하지 않습니다. OWIN이 포함 된 이유조차도 OWIN 공유 미들웨어 구성 요소를 인증에 사용하는 것입니다. 그런 식으로 OWIN과 IIS 기반 응용 프로그램은 동일한 인증 라이브러리를 사용할 수 있습니다. –

+1

"how/where MVC5가 OWIN에 등록되었습니다. 어떻게됩니까?" 이 맥락에서, 내 대답은 적절합니다. 귀하의 질문은 "왜"컨텍스트를 전혀 나타내지 않습니다. 놀랍게도 ... – jd4u

+0

'이유'를 추가하면 답이 더 완벽 해집니다. MVC가 뭔가를 위해 오윈을 필요로하지만 아직 무엇을 설명하지 못하는 것이 이상하다고 생각합니다. 나는 오윈이 지금 왜 포함되었는지를 분명히 밝혀 내려고했다. –