加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么HttpContext不包含“Host”头?

发布时间:2020-12-15 04:12:57 所属栏目:百科 来源:网络整理
导读:在我的MVC3应用程序中,我有一个自定义控制器工厂,其CreateController()方法的工作方式如下: public IController CreateController(RequestContext requestContext,string controllerName) { string host = requestContext.HttpContext.Request.Headers["Hos
在我的MVC3应用程序中,我有一个自定义控制器工厂,其CreateController()方法的工作方式如下:
public IController CreateController(RequestContext requestContext,string controllerName)
   {
       string host = requestContext.HttpContext.Request.Headers["Host"];
       if( !host.EndsWith( SomeHardcodedString ) ) { // FAILS HERE
           //some special action
       }
       //proceed with controller creation
   }

问题是host有时是null – 我看到一些请求的NullReferenceException和异常堆栈跟踪点正好在那一行.

为什么在这里检索null?我该如何处理这类案件?

解决方法

使用字符串host = requestContext.HttpContext.Request.Url.Host;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读