[英]How do I inject an HTTP-Request-specific object into my Unity supplied object?
例如,我將“當前用戶”存儲在Session中。 業務層對象由Unity實例化。 如何讓業務層對象知道“當前用戶”?
你應該隱藏抽象背后的“當前用戶”:
public interface ICurrentUser
{
string Name { get; }
}
應在業務層中定義此抽象,並且您需要創建放置在組合根中的ASP.NET特定實現:
public class AspNetCurrentUser : ICurrentUser
{
public string Name
{
get { return HttpContext.Current.Session["user"]; }
}
}
現在您的業務層對象可以依賴於ICurrentUser
接口,而在Unity中,您可以按如下方式注冊實現:
container.RegisterType<ICurrentUser, AspNetCurrentUser>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.