DotvvmStartup.cs
Home
/
src /
DotVvmCastleWindsor /
App_Start /
DotvvmStartup.cs
namespace DotVvmCastleWindsor
{
using Castle.MicroKernel.Registration;
using Castle.Windsor;
using DotVVM.Framework.Configuration;
using DotVVM.Framework.ViewModel.Serialization;
using Helpers;
using Microsoft.Extensions.DependencyInjection;
public class DotvvmStartup : IDotvvmStartup, IDotvvmServiceConfigurator
{
public void Configure(DotvvmConfiguration config, string appPath)
{
ConfigureRoutes(config, appPath);
ConfigureResources(config, appPath);
ConfigureControls(config, appPath);
}
private void ConfigureControls(DotvvmConfiguration config, string appPath)
{
}
private void ConfigureResources(DotvvmConfiguration config, string appPath)
{
}
private void ConfigureRoutes(DotvvmConfiguration config, string appPath)
{
config.RouteTable.Add("Default", "", "Views/Default.dothtml");
// config.RouteTable.AutoDiscoverRoutes(new DefaultRouteStrategy(config));
}
public void ConfigureServices(IDotvvmServiceCollection svc)
{
svc.AddDefaultTempStorages(Helpers.Constants.DefaultTemporaryStoragePath);
var windsorContainer = new WindsorContainer();
windsorContainer.Register(Classes.FromThisAssembly()
.InNamespace(Helpers.Constants.ViewModelsNamespace)
.WithServiceDefaultInterfaces());
svc.Services.AddSingleton<IViewModelLoader>(_ => new WindsorViewModelLoader(windsorContainer));
}
}
}