1

我想访问我的主机并构建我的捆绑包。我知道在 Application_start 中访问 httpcontext 并不直接。

您能否建议任何其他解决方法以找到Request.url.hostinRegisterBundles方法

全球.asax

 protected void Application_Start()
        {
          BundleConfig.RegisterBundles(BundleTable.Bundles);
        }

BundleConfig.asax

public static string host { get; set; }
        public static string siteCssFileName { get; set;  }
        public static void RegisterBundles(BundleCollection bundles)
        {
host = "~";
            if (System.Web.HttpContext.Current.Request.Url.Host.Contains("local"))
                host = "http://localhost:xxx";
                else
                host=Request.url.host;
                bundles.Add(new StyleBundle("~/Content/jQuery/ui/css")
                  .Include(host+"/css/jQuery/hro-0079c1/jquery-ui-1.8.11.custom.css"));
         }
4

2 回答 2

1

编辑:建议替代方法。

这里有几种方法可以做到这一点:

  • 创建两个版本的捆绑包
  • 添加一个局部视图,用于检查Request.IsLocal和呈现适当的捆绑包集
  • 从布局中调用局部视图

另一种方法是创建一个 HtmlHelper 方法来为您解析路径。

另一种方法是创建多个布局,并确定要在 viewstart 中使用的正确布局。

有很多方法可以实现这一点,只有少数几种。

于 2013-02-01T21:20:44.103 回答
0

由于我无法在应用程序启动事件中获取我的 Request 对象,因此我选择了以下方法来完成我的任务。我只想知道我在应用程序启动活动中的主持人。

  1. 创建 Web.Config 转换
  2. 在每个环境中添加一个应用程序密钥,例如 <add key="cdnReference" value="http://localhost:xxxx/" />
  3. 将您的应用启动事件中的密钥读取为cdnHost = ConfigurationManager.AppSettings["cdnReference"];
于 2013-02-11T15:27:27.597 回答