当前位置:  开发笔记 > 编程语言 > 正文

在Mvc.Controller中使用Server

如何解决《在Mvc.Controller中使用Server》经验,为你挑选了1个好方法。

我有自己的遗传App.Controller距离Mvc.Controller,然后我所有的控制器继承.我写了利用接口的提供者和执行它MyService和构造函数将Server财产的Mvc.Controller这是HttpServerUtilityBase.

但是,我实例化MyServiceApp.Controller构造函数.问题是ServerController 的属性null在构建时MyService.我曾经习惯于public Controller () : base() { }建造基地.但是,Server遗体null.

我想Web.HttpContext.Current.Server尽可能避免.

有没有人解决这个问题?

编辑:嗯,我已经实现了tvanfosson的建议,当我的app MyService在属性get方法中构造时,Server仍然是null.

编辑2:没关系,我是个傻瓜.我有另一个Controller使用Server,并没有改变它.案件结案.



1> tvanfosson..:

使用延迟初始化来构建您的服务.

private MyService service;
public MyService Service
{
    get
    {
         if (this.service == null)
         {
             this.service = new MyService(this.Server);
         }
         return this.service;
    }
}

然后,您的服务实际上不会实例化,直到它在控制器操作中使用,并且此时已设置Server属性.


或覆盖Controller.Initialize,它会在正确的时间触发.
推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有