0
데이터베이스에 대해 확인하는 제약 조건을 작성하려고합니다. 그리고 Ninject를 사용하고 있습니다 만, 어떤 이유로 저장소가 실행될 때 저장소의 새 인스턴스를 만들지 않습니다. 저장소에 대한 Ninject에 사용Ninject 및 dbcontext를 사용하는 Routeconstraint
public class LanguageRouteConstraint : IRouteConstraint
{
#region IRouteConstraint Members
private readonly IContentRepository _contentRepository;
public LanguageRouteConstraint(IContentRepository contentRepository)
{
this._contentRepository = contentRepository;
}
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
if (routeDirection == RouteDirection.IncomingRequest)
{
string languageID = values["languageID"].ToString();
if (String.IsNullOrEmpty(languageID))
return false;
MyProj.MVC.Models.Language language = _contentRepository.GetLanguage(languageID);
return (language != null);
}
return false;
}
#endregion
}
컨트롤러 작동
global.asax.cs
// Content
routes.MapRoute(
"Content Language Route",
"{languageID}/List",
new { controller = "Content", action = "Index",
new { languageID = new LanguageRouteConstraint() },
new string[] { "MyProj.MVC.Controllers" }
);
.....
kernel.Bind<IContentRepository>().To<ContentRepository>();
제약은 있지만, 그것을 만들 수 있도록 내가 gobal ASA의 경로를 수정해야 할 작업?