Dan*_*ite 3 c# asp.net-mvc controller
我有自己的遗传App.Controller距离Mvc.Controller,然后我所有的控制器继承.我写了利用接口的提供者和执行它MyService和构造函数将Server财产的Mvc.Controller这是HttpServerUtilityBase.
但是,我实例化MyService了App.Controller构造函数.问题是ServerController 的属性null在构建时MyService.我曾经习惯于public Controller () : base() { }建造基地.但是,Server遗体null.
我想Web.HttpContext.Current.Server尽可能避免.
有没有人解决这个问题?
编辑:嗯,我已经实现了tvanfosson的建议,当我的app MyService在属性get方法中构造时,Server仍然是null.
编辑2:没关系,我是个傻瓜.我有另一个Controller使用Server,并没有改变它.案件结案.
使用延迟初始化来构建您的服务.
private MyService service;
public MyService Service
{
get
{
if (this.service == null)
{
this.service = new MyService(this.Server);
}
return this.service;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您的服务实际上不会实例化,直到它在控制器操作中使用,并且此时已设置Server属性.
| 归档时间: |
|
| 查看次数: |
2238 次 |
| 最近记录: |