簡體   English   中英

如何將特定於HTTP請求的對象注入到我提供的Unity對象中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM