不要随便使用 runAllManagedModulesForAllRequests="true" 来解决问题

在 IIS 7.0 中,对于使用 Url 路由 访问页面的 ASP.NET 应用程序,IIS可能会不能出 Url 是对 ASP.NET 的请求。

会显示404啊,403啊之类的错误代码(因为路径不存在,或者不允许查看目录)。

网上一般的解决方案比较“粗暴”,直接设置 runAllManagedModulesForAllRequests="true" 即可。

因为这样会让所有的请求都要经由 .NET 来处理,不管是什么路径文件,这样确实能解决当前的问题。

但是这样会让所有的请求都经 .NET 处理(刚才好像说过了╮(╯-╰)╭),一方面会让 .NET 比较累,所有静态文件请求也需要处理。

另一方面,也可能会让程序的内容变得更复杂,比如如果有代码会根据请求的 Url 来处理一些事情。

所以,既然是 Url 的问题,那么尽量就不要给别人添麻烦(>﹏<)

image

经网上查找,找到了一个看起来比较好的解决方案。如上图所示,Url 路由是由 UrlRoutingModule 这个模块来处理的。

在某些 IIS 版本中,并不会将所有请求交给 UrlRoutingModule 处理,所以,我们可以在 Web.config 中进行如下设置:

<system.webServer>
    <modules>
      <remove name="UrlRoutingModule-4.0" />
      <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
    </modules>
  </system.webServer>
</configuration>

首先移除掉原有的 UrlRoutingModule,然后再添加一下,不过这次添加将把 preCondition 设为空,这样貌似就可以了~

具体 preCondition 的可选值可以看这里:

https://www.iis.net/configreference/system.webserver/modules/add

 

感觉 runAllManagedModulesForAllRequests="true" 太不友好了,以后如果再遇到相关的问题,还是要找到对应的模块来进行针对性的处理比较好。

要刨根问底~

 

以上方法搜集自网络:

http://www.cnblogs.com/xishuai/p/Styles-Render-runAllManagedModulesForAllRequests-true.html

http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可能是因为您正在使用不支持normed参数的函数或方法。请检查您的代码是否使用了正确的函数或方法以及正确的参数名称。如果您需要使用normed参数,请查看您正在使用的函数或方法的文档,以确保它支持该参数。另外,normed参数已被弃用,建议使用density参数。 ### 回答2: 使用`normed=True`的问题可能是因为版本问题或参数错误。在较新版本的Matplotlib中,`normed`参数已经被更名为`density`,用于设置是否为概率密度函数进行归一化。因此,如果您的Matplotlib版本较新,请尝试使用`density=True`来实现相同的效果。 另外,请确保您正确地使用`normed=True`或`density=True`参数。该参数应该在绘制直方图时作为关键字参数传递给`plt.hist()`方法。例如: ``` import matplotlib.pyplot as plt data = [1, 2, 3, 3, 4, 4, 4, 5, 5, 6] plt.hist(data, bins=5, density=True) plt.show() ``` 请注意,在这个示例中,我们将`density=True`作为关键字参数传递给`plt.hist()`方法,以便将直方图归一化为概率密度函数。 如果您仍然遇到问题,请确保您已经正确安装了Matplotlib,并检查输入参数是否正确。 ### 回答3: 在文档中normed=True参数已被弃用,并在较新的版本中已被替换为density=True。density=True参数控制直方图归一化,使得直方图的面积等于1,而不是通过normed=True参数基于频率进行归一化。因此,如果您的版本较新,尝试使用density=True参数来替代normed=True参数,应该能够得到正确的结果。另外,建议您阅读相关的官方文档或升级软件版本以获取更准确的信息和支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值