相关疑难解决方法(0)

在我的MVC应用程序有机会处理它之前,如何阻止IIS7推出自己的404?

我有一个ASP.NET MVC 2应用程序,它在global.asax中有一个Application_Error事件处理程序.在这里,我正在检测Exception类型是HttpException并且HTTP代码是404的情况,并重定向到我自己的404处理页面.

这在我的Cassini开发服务器上工作正常,但现在我正在尝试将其移动到具有IIS7的生产服务器(使用集成模式).

当我请求一个不存在的URL时,IIS7显示自己的404页面,据我所知,我的Application_Error方法永远不会被调用.

我该如何解决这个问题?

asp.net-mvc iis-7

13
推荐指数
2
解决办法
6751
查看次数

asp.net 4.0 Web表单路由 - 默认/通配符路由

我有一个简单的方法,当使用ASP.NET 4.0路由与Web窗体生成一个将充当某种通配符的路由?

在我看来,在WebForms中,你必须为每个页面指定一个路由 - 我正在寻找某种通用路由,可以在没有特定需要的地方使用,也许直接从路径映射到路径所以......

http://somedomain.com/folder1/folder2/page可能会映射到folder1/folder2/page.aspx

有什么建议?

谢谢

asp.net routing wildcard-mapping asp.net-4.0

12
推荐指数
1
解决办法
8863
查看次数

使用web.config阻止IIS 7.5显示默认错误页面

我正在尝试将自定义错误页面添加到我的Web应用程序中.到目前为止,我已将此添加到我的web.config文件下的元素:

<customErrors mode="On" >
    <error statusCode="404" redirect="~/404.aspx"/>
    <error statusCode="500" redirect="~/500.aspx"/>
</customErrors>
Run Code Online (Sandbox Code Playgroud)

这适用于.NET触及的错误,例如包含.aspx扩展名的url.但是,我还希望为网址显示自定义错误,例如www.example.com/dasda

目前,当我请求上面的IIS 7.5这样的页面显示它自己的错误消息.我在元素下添加了这个:

<httpErrors >
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" path="~/404.aspx" responseMode="ExecuteURL"  />
    <remove statusCode="500" subStatusCode="-1" />
    <error statusCode="500" path="~/500.aspx" responseMode="ExecuteURL" />
</httpErrors>
Run Code Online (Sandbox Code Playgroud)

我认为这会使IIS显示自定义错误页面而不是默认页面,但似乎并非如此.

我知道我可以在IIS中设置自定义错误页面,但对于我的情况来说,理想的解决方案是在web.config中配置它.

我曾尝试加入到这个在Page_Load事件我的自定义错误页的建议在这里:

            Response.TrySkipIisCustomErrors = true;
Run Code Online (Sandbox Code Playgroud)

但是它并没有阻止默认的IIS页面显示代替我的自定义错误页面.我也试过这里建议的:

<httpErrors >
    <remove statusCode="404" subStatusCode='-1' />
    <error statusCode="404" path="~/404.aspx" prefixLanguageFilePath='' responseMode="Redirect"  />
    <remove statusCode="500" subStatusCode='-1' />
    <error statusCode="500" path="~/500.aspx" prefixLanguageFilePath='' responseMode="Redirect" />
  </httpErrors>
Run Code Online (Sandbox Code Playgroud)

但这也没有奏效.

那么有没有办法通过配置web.config文件中的设置来阻止IIS显示默认错误页面?

c# webforms web-applications iis-7.5

8
推荐指数
1
解决办法
1万
查看次数