WindsorViewModelLoader.cs
Home
/
src /
Web /
Infrastructure /
WindsorViewModelLoader.cs
namespace Web.Infrastructure
{
using Castle.Windsor;
using DotVVM.Framework.Hosting;
using DotVVM.Framework.ViewModel.Serialization;
using System;
public class WindsorViewModelLoader : DefaultViewModelLoader
{
private readonly WindsorContainer _container;
public WindsorViewModelLoader(WindsorContainer container)
{
_container = container;
}
protected override object CreateViewModelInstance(Type viewModelType, IDotvvmRequestContext context)
{
return _container.Resolve(viewModelType);
}
public override void DisposeViewModel(object instance)
{
_container.Release(instance);
base.DisposeViewModel(instance);
}
}
}