目前我有一个ActionFilter,它从HttpContext获取当前的用户名,并将其传递到在服务方法上使用它的操作.例如:
Service.DoSomething(userName);
我现在有一个理由不是在动作级别,而是控制器构造器级别.目前我正在使用结构图创建控制器并注入服务.我在看:
public interface IUserProvider { string UserName { get; } } public class HttpContextUserProvider : IUserProvider { private HttpContext context; public HttpContextUserProvider(HttpContext context) { this.context = context; } public string UserName { get { return context.User.Identity.Name; } } }
也就是说,我的IoC foo真的很弱,因为这是我使用它的第一个项目.
所以我的问题是…如何告诉结构图在HttpContextUserProvider的构造函数中传递HttpContext?这似乎很奇怪…我不知道如何想到HttpContext.