0

我正在启动一个新的 MVC4 站点并且遇到了很大的麻烦,我相信路线。

这一切都在 Cassini 本地工作,但在我的生产 WIN 2012 服务器上不起作用。

似乎类似的问题已经一次又一次地得到了回答;我要么错过了显而易见的事情,要么走错了路。

我看到的两个问题是我的 LESS CSS 没有加载。其他像引导程序这样的 CSS 加载正常。我认为 MVC 尝试处理更少的 js 请求可能是一个问题,但来自同一 Scripts 文件夹的其他 js 工作正常。我整天都在尝试各种 IgnoreRoutes 无济于事。目前:

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("Content/{*pathInfo}");
        routes.IgnoreRoute("Scripts/{*pathInfo}");
        RouteTable.Routes.IgnoreRoute("{resource}.css/{*pathInfo}");
        RouteTable.Routes.IgnoreRoute("{resource}.js/{*pathInfo}");            

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("ImageDisplay.aspx/{*pathInfo}");
        routes.IgnoreRoute("elmah.axd");
        routes.IgnoreRoute("FeedFiles/{*pathInfo}");
...

不确定它是否真实,但我有一个图像处理程序 ImageDisplay.aspx。

<httpHandlers>
  <add verb="*" path="ImageDisplay.aspx" type="BK9.PL.Utility.ImageHandler, BK9.PL" />
</httpHandlers>

这也因 404 失败,但在本地运行良好。

我错过了什么?

更新 - - - - - - - - - - -

事实证明,图像处理程序对 IIS 8 的配置不正确——我在 system.web 部分中对其进行了配置——将它移到 system.webserver 后,我就喜欢上了它。

正如我开始怀疑的那样,挖掘路线是完全错误的道路。更少的问题原来是一个无点编译问题。

这是 dotless 1.3.1.0 的正确编译后编译:

del "$(ProjectDir)Content\BK9.css"
"$(SolutionDir)packages\dotless.1.3.1.0\tool\dotless.compiler.exe" -m "$(ProjectDir)Content\BK9.less" "$(ProjectDir)Content\BK9.css"

这会删除最后一个 css,并编译一个新的缩小版本。似乎需要删除命令后的换行符。

4

0 回答 0