자체 호스팅 접근 방식을 사용하여 ASP.NET 웹 API 인터페이스가있는 응용 프로그램을 만들고 있습니다. MVC3에서 제공하는 InRequestScope()
과 비슷한 범위를 사용하고 싶습니다. IIS에서 웹 API 응용 프로그램을 호스트하면 Ninject.Extension.WebAPI가 지원하는 것 같습니다. 하지만 WebAPI를 자체 호스팅 할 때 바인딩을 만들면 새로운 인스턴스가 생깁니다 InRequestScope()
. 웹 API를 자체 호스팅 할 때이 범위를 사용할 수있는 방법이 있습니까?Ninjects InRequestScope() 자체 웹 호스팅 API 사용
13
A
답변
11
NamedScope 확장을 사용하여 컨트롤러가 범위를 정의하고 요청 범위에있는 모든 항목에 대해 해당 범위를 사용하도록 정의 할 수 있습니다. 베스트 당신은이 정의에 대한 규칙을 사용
const string ControllerScope = "ControllerScope";
kernel.Bind(x => x.FromThisAssembly()
.SelectAllClasses().InheritedFrom<ApiController>()
.BindToSelf()
.Configure(b => b.DefinesNamedScope(ControllerScope)));
kernel.Bind<IMyComponent>().To<MyComponent>().InNamedScope(ControllerScope);
내가 요청 범위의 개체가 즉시 요청 이후에 출시되도록 컨트롤러 INotifyWhenDisposed
을 구현하는 것이 좋습니다. 예 :
public abstract class NinjectApiController : ApiController, INotifyWhenDisposed
{
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
this.IsDisposed = true;
this.Disposed(this, EventArgs.Empty);
}
public bool IsDisposed
{
get;
private set;
}
public event EventHandler Disposed;
}
를 다음 클래스에서 파생 대신 ApiController
에 의해 나는오고 주 somewhen selfhosting WebAPI에 대한 확장을 제공하려고합니다.
편집 :
가 지원이 지금 Ninject.Web.WebApi.Selfhosting에 의해 제공됩니다 Selfhosting https://nuget.org/packages/Ninject.Web.WebApi.Selfhost/3.0.2-unstable-0
예 : 지금 확장 Ninject.Web.WebAPI이처럼 https://github.com/ninject/Ninject.Web.WebApi/tree/master/src/Ninject.Web.WebApi.Selfhost
관련 문제
- 1. 자체 호스팅 웹 API - 게시 Param null
- 2. 웹 API 테스트 어셈블리에서 자체 호스팅
- 3. ASP.NET 웹 API 라우팅 (IIS와 자체 호스팅)
- 4. 자체 호스팅 웹 페이지?
- 5. 자체 호스팅 웹 사이트의 Google지도
- 6. Windows 서비스 응용 프로그램의 자체 호스팅 ASP.NET 웹 API
- 7. Fluentvalidation이있는 Ninjects
- 8. IIS에서 자체 호스팅 WF 호스팅
- 9. 자체 호스팅 서비스에서 HTTP POST 사용
- 10. 간단한 자체 호스팅 웹 사이트 모니터링
- 11. 자체 호스팅 다중 계정 웹 이메일 클라이언트?
- 12. WCF 자체 호스팅 성능
- 13. 자체 호스팅 온라인 사진 편집기?
- 14. 자체 호스팅 비교 : WCF 대 HttpListener
- 15. Ninject에와 InRequestScope
- 16. 같은 포트에 자체 호스팅 웹 서버 (HTTPListener)가있는 자체 호스팅 WCF. 가능한?
- 17. 자체 호스팅 프로젝트 커뮤니티 대안
- 18. 자체 하드웨어에서 호스팅/전개하는 Node.js
- 19. 자체 호스팅 dll (asp.net 외부)에서 MVC 라우팅 엔진 사용?
- 20. ASP.NET 웹 API 자체 호스트 응용 프로그램에서 컨트롤러 생성
- 21. 강력한 자체 호스팅 서버를위한 최선의 선택 : WCF vs. ASP.NET 웹 API
- 22. Application_Start의 자체 호스팅 netTcpBinding 서비스
- 23. Wordpress Plugin - 자체 호스팅 업데이트
- 24. WCF 서비스 자체 호스팅 문제
- 25. 실버 라이트와 자체 호스팅 WCF
- 26. 자체 호스팅 WCF 용 ASPNetCacheProfile?
- 27. 여러 WCF 서비스 (자체 호스팅)
- 28. nettcp 예외가있는 자체 호스팅 wcf
- 29. WCF 자체 호스팅 인증이 필요합니다.
- 30. WCF svc 호스팅 된 IIS7 자체 서명 된 인증서 사용
이 보이는 이 기능을 지원하지만 현재 http://www.ninject.org/extensions.html에 나와 있지 않습니까? 해당 페이지가 구식이며 다른 곳으로 리디렉션해야합니까, 아니면 업데이트 만하면됩니까? 후자의 경우 github에서 해당 페이지의 출처이며 도움 요청을 제출할 수 있습니까? 너무 고마워, 레모 !! 너와 ninject rock :) –
이런 식으로 명명 된 범위를 사용하는 것은 ActionFilters를 지원하지 않는다. –