0

下面的代码在本地工作,但在服务器上托管时不起作用(Win 2016)。有任何想法吗?

公共抽象类 BaseController :控制器 {

    protected override void Initialize(System.Web.Routing.RequestContext requestContext)
    {
        base.Initialize(requestContext);


        Session["DeviceInfo"] = new Device();

        if (WebProvider.ActiveProvider != null)
        {
            if ((requestContext.HttpContext.Request.Headers != null) && (requestContext.HttpContext.Request.Headers.Count > 0) && (requestContext.HttpContext.Request.Headers.HasKeys()))
            {
                // Perform device detection on the headers provided in the
                // request.
                var match = WebProvider.ActiveProvider.Match(
                requestContext.HttpContext.Request.Headers);

                Session["DeviceInfo"] = new Device(match);
            }
        }
    }

. . . . .

4

1 回答 1

0

我不确定哪种情况会导致 Request.Headers 集合为空,但我认为它一定与托管配置/环境有关。

我建议将其剥离回一个非常基本的“hello world”样式网页,该网页只显示任何标题的名称和值。如果这不起作用,那么您肯定遇到了配置/环境问题。如果是这样,那么您可以开始添加位,直到找到导致问题的原因。

于 2021-05-18T07:31:09.480 回答