相关疑难解决方法(0)

如何使自定义错误页在ASP.NET MVC 4中工作

我想要显示500,404和403的自定义错误页面.这是我所做的:

  1. 在web.config中启用了自定义错误,如下所示:

    <customErrors mode="On" 
                  defaultRedirect="~/Views/Shared/Error.cshtml">
    
        <error statusCode="403" 
               redirect="~/Views/Shared/UnauthorizedAccess.cshtml" />
    
        <error statusCode="404" 
               redirect="~/Views/Shared/FileNotFound.cshtml" />
    
    </customErrors>
    
    Run Code Online (Sandbox Code Playgroud)
  2. HandleErrorAttributeFilterConfig类中注册为全局动作过滤器,如下所示:

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new CustomHandleErrorAttribute());
        filters.Add(new AuthorizeAttribute());
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 为上述每条消息创建了自定义错误页面.500的默认值已经开箱即用.

  4. 在每个自定义错误页面视图中声明该页面的模型 System.Web.Mvc.HandleErrorInfo

对于500,它显示自定义错误页面.对于其他人,它没有.

有什么我想念的吗?

看起来这并不是显示自定义错误的全部内容,因为我OnExceptionHandleErrorAttribute类的方法中读取代码并且它只处理500.

我该怎么做才能处理其他错误?

asp.net asp.net-mvc asp.net-mvc-4

242
推荐指数
6
解决办法
25万
查看次数

Web Config转换以添加子元素

我在web.config中有以下配置:

  <resizer>
    <sizelimits imageWidth="0" />
    <plugins>
      <add name="MvcRoutingShim" />
      <!--<add name="AzureReader" connectionString="DataConnectionString" /> -->
      <add name="DiskCache" />
      <add name="PrettyGifs" />
      <add name="AnimatedGifs" />
    </plugins>
  </resizer>
Run Code Online (Sandbox Code Playgroud)

在web.config.Release中,如何将AzureReader元素添加为plugins元素的子元素(有效地取消注释上面的内容)?

我熟悉如何进行基本的转换,但之前从未这样做过.

asp.net web-config web-config-transform

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

IIS错误,无法在Web服务器上启动调试

我想在本地计算机上从IIS运行我的应用程序.我创建了虚拟目录并将应用程序添加到它,并在应用程序的属性文件夹中检查了单选按钮"使用本地IIS Web服务器".然后我开始运行我的应用程序但是我收到以下错误:

无法在webserver上启动调试.请查看常见配置错误的帮助.在调试器外部运行网页可能会提供更多信息.

确保服务器正常运行.通过调试验证web.config中没有语法错误.启动时无需调试.您可能还需要参考联机文档中的ASP.NET和ATL服务器调试主题.

我该如何摆脱这个错误?

我在Windows 7和IIS 7.5上使用Visual Studio 2010.

asp.net iis visual-studio-2010 iis-7.5

47
推荐指数
12
解决办法
11万
查看次数

VS2010错误:无法在Web服务器上启动调试

我在Visual Studio 2010中收到错误消息"无法在Web服务器上启动调试".我单击"帮助"按钮并按照相关建议未成功.

当修改为使用IIS而不是Cassini(用于调试)时,新创建的本地ASP.Net项目会发生这种情况.它会提示在web.config中设置debug ="true",然后立即弹出错误.事件查看器中没有显示任何内容.

我可以附加到w3wp进行调试.它工作但不如F5方便.

我在同一台PC上也遇到了与VS2008类似的问题.调试曾经适用于两者.

我重新注册了Framework 4(aspnet_regiis -i).我运行VS2010修复(这是RTM版本).我在Windows Server 2008 R2 x64机器上运行.

我确实安装了Resharper V5.

必须有一些配置设置或注册表值,在修复后仍然存在问题.

我很欣赏任何想法.

asp.net debugging visual-studio-2010 iis-7.5

17
推荐指数
4
解决办法
6万
查看次数

什么是debugattach.aspx以及为什么服务器找不到它?

我正在使用VS 2010和IIS 5开发XP(SP3)机器.

我有两个版本的同一个网站.我们发布了第一个生产版本,因此我将代码分叉到一个新的目录树中,并在IIS中设置新的虚拟目录以指向新的树.这些项目设置为在IIS而不是VS的服务器上运行.主站点是基于MVC 2的项目.

我的问题是,当我在Visual Studio 2010中点击F5开始调试新版本时,我得到一个"无法在Web服务器上开始调试.Web服务器无法找到所请求的资源." 昨天我花了很多时间试图找出它找不到的资源.这发生在它到达"应用程序启动"之前.我终于想到了查看Web日志,发现无论何时我按下F5键,web日志都会显示/debugattach.aspx的DEBUG请求,返回码为404(未找到).如果我在旧版本上运行相同的序列,它会显示相同的内容,但首先使用401代码,然后使用200代码重复请求.

我的第一个想法是VS必须写出一个"debugattach.aspx"文件,然后调用它,也许它没有对目录的写权限,但据我所知,它确实如此.

我已经google了debugattach.aspx,并且返回的所有文章的前几页似乎都是指锁定和超时,主要是在IIS 7和VS 2005上.似乎没有任何东西适用于这种情况.

看看有效的旧版本和没有的旧版本之间有什么不同,唯一的事情是虚拟目录的IIS设置和代码本身的web.config.但是我已经并排浏览了两个站点,并且找不到任何可以解释这种行为的差异.

有人知道他们可以与我分享吗?或者任何人都可以向我指出有关debugattach.aspx究竟是什么/做什么,以及DEBUG HTTP请求的作用和/或VS如何使用它们的任何文档?

提前致谢.

iis-5 visual-studio-2010 visual-studio-debugging

9
推荐指数
2
解决办法
3575
查看次数

无法在Web服务器上启动调试.远程服务器返回错误:(404)Not Found.在Visual Studio中启动调试时出错

我已经将项目设置为在IIS上运行了一段时间,当我按F5时它确实连接没有问题.但最近这停止了工作,当我按F5 /按下时我确实收到了这个错误Debug->Start debugging:

无法在Web服务器上启动调试.远程服务器返回错误:(404)Not Found.

在此输入图像描述

这是我的设置:

在此输入图像描述

我不确定发生了什么,可能是一些VS更新或Windows更新,但我试图谷歌无处不在,没有任何工作.如前所述,附加到流程工作正常,但这种更简单的方法停止了这一操作.

更新:

尝试过Process Monitor来找出出错的地方,看起来w3wp尝试访问路径MyProjectFolder\debugattach.aspx,结果是"NAME NOT FOUND".不知道这是否是问题的根源.

.net asp.net iis debugging visual-studio-2017

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

IIS Url重写模块导致"无法在Web服务器上启动调试"

我刚刚为IIS 7实现了URL Rewrite Module 2.0,它似乎导致Visual Studio 2010中的"无法在Web服务器上启动调试"错误.

除了在web.config中评论节点之外,是否有人知道VS2010是否可以修复此问题?

谢谢

c# iis-7 url-rewriting visual-studio-2010

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

6
推荐指数
2
解决办法
3814
查看次数