asp.net-mvc – 使用Castle Windsor在ASP.NET MVC中实现多租户的最佳实践是什么?
|
我有一个服务有两个不同的实现,我想注入到控制器构造函数,取决于一个标准(目前标准是一个存储在会话中的简单值). 这是我现在得到的…… 服务界面: public interface IService
{
string GetSampleText();
}
实施#1: public class FirstService : IService
{
string GetSampleText()
{
return "First Service";
}
}
实施#2: public class SecondService : IService
{
string GetSampleText()
{
return "Second Service";
}
}
在Windsor安装程序类中注册: container.Register(AllTypes .FromAssemblyInDirectory(new AssemblyFilter(HttpRuntime.BinDirectory)) .BasedOn<IService>() .WithService.FromInterface() .Configure(c => c.LifeStyle.Transient)); container.Kernel.AddHandlerSelector(new ServiceHandlerSelector()); 我已经实现了一个IHandlerSelector: public class ServiceHandlerSelector : IHandlerSelector { ... }
在这个IHandlerSelector实现的HasOpinionAbout方法中,我可以决定在SelectHandler方法中选择哪个处理程序(取决于session的值). 然后构造函数注入在控制器上正常工作: public MyController(IService service) { ... }
所以我得到了一个有效的解决方案,但我不确定这是否是最好的方法. 意见?建议? 非常感谢. 解决方法你在处理程序选择器的正确轨道上.以下是一些关于将它们用于多租户的好文章,您可以将它们用作参考:> http://ayende.com/Blog/archive/2008/10/05/windsor-ihandlerselector.aspx (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Page_Load在ASP.NET页面中触发两次
- asp.net-mvc – 使用jquery进行模型绑定ajax序列化不起作用
- asp.net-mvc – 在运行时ASP.NET捆绑和缩小有什么好处?
- asp.net-mvc – MVC 4,Upshot实体循环引用
- 在控件asp.net之间动态添加
- asp.net – 访问asp. VM外部的网络开发服务器
- asp.net-mvc – ASP.NET Web Api – 将对象发布到自定义动作
- asp.net-mvc – ASP.NET MVC 3中的OutputCache行为
- asp.net – 我对Html.TextBoxFor的工作原理有什么误解
- asp.net-mvc – Azure网站上的字体文件404,看似正确的MIME
- asp.net-mvc – 如何修复错误名称空间’System’
- asp.net – 允许 – (破折号)在正则表达式中
- asp.net – $.post vs $.ajax
- asp.net-mvc – 如何在不依赖NHibernate的情况下
- asp.net-mvc – 使用LINQ to SQL在ASP.NET MVC中
- asp.net-mvc – 在MVC中检查图像mime,大小等
- asp.net-mvc – 错误处理在asp.net mvc 3
- Asp.Net MVC验证 – 依赖字段
- asp.net-mvc-4 – 我应该如何使用ReturnUrl = Vi
- asp.net – 如何在asp标签中将文本与中心对齐
