StructureMapコードをNinjectに変換する必要があります(ホスティングプロバイダーは中程度の信頼で動作するアプリケーションのみをサポートしているため、ホスティングプロバイダーをサポートするため)。StructureMapにある基本的なレジスタは次のとおりです。
ObjectFactory.Initialize(x =>
{
x.For<IDbConnection>()
.HttpContextScoped()
.Use(() =>
{
var constr = ConfigurationManager
.ConnectionStrings["conn"].ConnectionString;
var conn = new SqlConnection(constr);
conn.Open();
return conn;
});
x.FillAllPropertiesOfType<IDbConnection>();
x.For<ICurrent>().Use<Current>();
x.For<ILogger>().Use<Logger>();
x.For<IMembershipService>().Use<SpaceMembership>();
x.For<IFormsAuthenticationService>()
.Use<FormsAuthenticationService>();
x.Scan(sc =>
{
sc.Assembly("Space360.DB");
sc.AddAllTypesOf(typeof(IRepository<>));
sc.WithDefaultConventions();
});
});