6

我已关注文章http://www.codeproject.com/KB/aspnet/combres2.aspx

当我运行我的网站时,我无法让 combres.axd 工作?我知道梳子正在运行,因为我的 xml 中的文件不正确会导致错误。我在 vista 上运行一个 ASP.NET 4.0 Web 表单站点。

我的 Combres XML 设置是。

resourceSets url="~/combres.axd" defaultDuration="30" defaultVersion="auto" defaultDebugEnabled="auto"

我已经检查了 web.config 的所有正确值。该引用已从合并目录中添加,全局 ASX 文件具有以下内容。

protected void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.AddCombresRoute("Combres");
        }

我还检查了值是在 html 源代码中创建的。

href="/combres.axd/siteCss/309885723"

  src="/combres.axd/siteJs/408582048"

我没有收到任何错误或任何信息来帮助我找出它无法工作的原因或我可能错过的内容。任何建议都会很棒。

4

6 回答 6

6

第一次尝试让它工作时,我遇到了同样的问题。

确保在调用忽略路由 {resource}.axd 之前添加 Combres 路由。

正确的:

RouteTable.Routes.AddCombresRoute("Combres");
RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

不正确:

RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteTable.Routes.AddCombresRoute("Combres");
于 2011-08-03T15:41:43.447 回答
1

首先,我建议在您的 web.config 中将 log4net 连接到 Combres 记录器(不要忘记为 log4net 设置配置部分)

<log4net>
<logger name="Combres">
  <level value="ALL"/>
  <appender-ref ref="LogCombres" />
</logger>

<appender name="LogCombres" type="log4net.Appender.RollingFileAppender">
  <file value="Combres.log.txt"/>
  <appendToFile value="true"/>
  <maximumFileSize value="5000KB"/>
  <maxSizeRollBackups value="2"/>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%d [%t] %-5p %c - %m%n"/>
  </layout>
</appender>
</log4net>

并在您的 global.asax 启动配置

log4net.Config.XmlConfigurator.Configure()

您应该有详细的日志记录正在发生的事情。如果没有出现问题,请不要犹豫,返回一些日志输出

于 2010-09-13T10:53:16.327 回答
1

出于某种原因,我们可以修复在 debug=false 模式下显示 css 的唯一方法是将 combres.axd 添加到 web.config 中的匿名访问

  <location path="combres.axd">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
于 2014-09-02T01:22:17.697 回答
0

这也发生在我身上,但问题出在 Yahoo.Yui.Compressor 他们在新版本 1.6 * 中更改了一个属性签名。

所以要修复它,我只需将 Yahoo.Yui.Compressor 降到 1.5 版。

我现在很高兴:)

于 2011-10-28T00:10:52.637 回答
0

这些是我在项目中所做的更改,它声明可以正常运行。

在 Global.asax 文件中添加这些行

using Combres;

在 application_start 方法中

protected void Application_Start()
{
    RouteTable.Routes.AddCombresRoute("Combres");//Add this line
    RegisterRoutes(RouteTable.Routes);
} 

注释掉 Combres.cs 文件中的行。

于 2011-10-04T22:54:28.390 回答
0

您在 web.config 中的模块设置是什么?检查 runAllManagedModulesForAllRequests 属性。

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

使用旧版 WebForms 应用程序时,我发现我没有那个设置,一旦我把它放进去,combres.axd 路由就起作用了。

更多关于我的问题

于 2011-10-04T18:10:32.587 回答