日期:2014-05-17  浏览次数:20813 次

使用DI解耦服务层与UI层,用什么方法可以传入UI层的上下文信息?
使用DI解耦服务层与UI层,用什么方法可以传入UI层的上下文信息?

因为服务层与UI层没有直接的依赖关系,UI层是通过DI来获取服务层的实例。
现在想传递上下文信息到服务层,例如:我现在是web程序,想传递当前Request进到服务层。
但当UI为winform时,肯定就不存在Request了,又想传点别的进行,不知道怎么能注入进去?
还有获取当前登录的用户名这些,目前没有状态服务器。

不知有啥办法。

------解决方案--------------------
.Net的HttpContext实现了IServiceProvider.GetService()
你自己不也可以实现甚至改进成泛型的吗?

自定义用户验证,.Net封装了一套接口 System.Security.Principal.IIdentity和IPrincipalhttp://blog.csdn.net/msdnxgh/article/details/6894885