0

저는 webapi 프로젝트 &에서 Owin/Katana 호스팅으로 마이그레이션하고 있습니다. 나는 거의 의심 할 여지가 없다.요청마다 OwinMiddleware를 대신 생성 할 수 있습니까?

퀘스트) 글로벌 오브젝트를 생성하는 대신 요청마다 OwinMiddleware를 만들 수 있습니까?

owinMiddleware를 만들 수 있지만 요청마다 생성 할 수 없습니다. 내가 owinMiddleware에 새로운 객체를 종속물로 삽입 할 수 있도록 요청마다 생성하고 싶었다. 나는 이미 webapi에서 단결을 사용하고 있으므로 어떤 솔루션은 단결과 정렬되기를 원했습니다.

나는 몇 가지 링크를 발견 : - 오래된 단결로 새로운 IOC의를 조정할 수

http://alexmg.com/owin-support-for-the-web-api-2-and-mvc-5-integrations-in-autofac/

http://www.tugberkugurlu.com/archive/owin-dependencies--an-ioc-container-adapter-into-owin-pipeline

하지만합니다.

 app.Use((IOwinContext context, Func<Task> next) => 
     { 
      ILogger logger = {Resolve dependency using Unity}; 
      CustomOwinMiddleware middleware = new CustomOwinMiddleware(context,next, logger); 
      return middleware.Invoke(); 
     }); 

내가 요청에 따라 내 미들웨어를 생성 할 수있어 이런 식으로 - : 사람이 어떤 솔루션을

답변

1

를 제안 할 수 나는 우리가이 achive 수있는 방법을 발견했다. 이것을하는 것이 올바른 방법일까요?

0

내가 선택한 경우 단일 요청으로 모든 미들웨어 인스턴스를 사용할 것을 권장합니다. 그런 다음 해당 미들웨어의 invoke 메서드 내에서 lifetimemanager를 만들고 다른 미들웨어에서 invoke를 호출하는 대신 대리자로 원하는 모든 함수를 삽입합니다. 이러한 함수에서 OwinContext가 필요한 경우 매개 변수로 전달할 수 있습니다.

자세한 내용은 여기이 블로그 게시물을 참조 : http://codetoast.org/orchard/blog/using-unity-owin-and-web-api-to-organize-log-entries-by-request

관련 문제