0
我有點困難,理解爲什麼我的管理器類在通過此示例POST方法在Service類中的請求處理的上下文中爲null。 我註冊了管理器,它的依賴關係就像這個例子,它似乎註冊很好。 只有通過apphost參考中的容器告訴屬性去解析名稱,才能使其工作。 謝謝!服務類有一個公共屬性,不解決
public static class TemplateContainer
{
public const string DomainName = "Template";
public static Funq.Container Configure(Funq.Container container)
{
container.Register<IUOWMongo<TemplateMongoContext>>(DomainName, c =>
new UOWMongo<TemplateMongoContext>(
c.ResolveNamed<string>(Constants.NamedString)
)
).ReusedWithin(Funq.ReuseScope.Request);
container.Register<IMongoTemplateRepository>(DomainName, c =>
new MongoTemplateRepository<TemplateMongoContext>(
c.ResolveNamed<IUOWMongo<TemplateMongoContext>>(DomainName)
)
).ReusedWithin(Funq.ReuseScope.Request);
container.Register<ITemplateDataManager>(DomainName, c =>
new TemplateDataManager(c.ResolveNamed<IMongoTemplateRepository>(DomainName))
).ReusedWithin(Funq.ReuseScope.Default);
return container;
}
}
public class TemplateService : ServiceStack.ServiceInterface.Service
{
public ITemplateDataManager Manager { get; set; }
public GetTemplateResponse Post(GetTemplateRequest request)
{
var response = new GetTemplateResponse();
**// Manager is null here!!!
// Only way I can get it to work is if I do this:
Manager = AppHostBase.Instance.Container.ResolveNamed<ITemplateDataManager>("Template");**
return response;
}
}