【问题标题】:Web Form Routing - Cannot create an abstract classWeb 表单路由 - 无法创建抽象类
【发布时间】:2010-10-15 05:53:29
【问题描述】:

Net 3.5 SP1 并尝试将 http://haacked.com/archive/2008/03/11/using-routing-with-webforms.aspx 的示例副本实现到示例 Web 应用程序中,但是我似乎遇到了一些问题。

我正在运行 windows vista,IIS 7.0,集成模式。

以下是 YSOD:

无法创建抽象类。

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详情: System.MissingMethodException:无法创建抽象类。

源错误:在执行当前 Web 请求期间产生了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常来源和位置的信息。

堆栈跟踪: [MissingMethodException:无法创建抽象类。] System.RuntimeTypeHandle.CreateInstance(RuntimeType 类型,Boolean publicOnly,Boolean noCheck,Boolean& canBeCached,RuntimeMethodHandle& ctor,Boolean& bNeedSecurityCheck) +0 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +86 System.RuntimeType.CreateInstanceImpl(布尔publicOnly,布尔skipVisibilityChecks,布尔fillCache)+230 System.Activator.CreateInstance(类型类型,布尔非公共)+67 System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,Binder binder,Object[] args,CultureInfo 文化,Object[] activationAttributes)+1051 System.Activator.CreateInstance(类型类型,BindingFlags bindingAttr,Binder binder,Object[] args,CultureInfo 文化,Object[] activationAttributes)+111 System.Web.Configuration.HandlerFactoryCache..ctor(字符串类型)+57 System.Web.HttpApplication.GetFactory(字符串类型)+78 System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +229 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

我有一个如下所示的界面:

public interface IRoutablePage : IHttpHandler
{
    UrlHelper Url { get; }
    HtmlHelper Html { get; }
    RequestContext RequestContext { get; set;}
}

我有一个抽象类(RoutablePage),它继承了这个接口和 System.Web.UI.Page。

然后我有一个网页(附加到母版页),它继承了 RoutablePage 类。

我在我的网络配置中设置了路由,当我尝试访问 http://local.url/pageName 时,我通过上述信息体验了 YSOD。

谁能帮忙解决这个问题?

干杯

【问题讨论】:

  • 我认为我们需要先查看您的 web.config 部分,然后再查看类
  • 如果您从 haacked 下载示例项目,则 web.config 是相同的。

标签: c# asp.net asp.net-routing


【解决方案1】:

我遇到了同样的问题。我能够在这个论坛上找到答案http://forums.asp.net/t/1272109.aspx

交叉发布对我有帮助的内容:

在 Web.config -> system.webserver -> 处理程序,替换

  <add name="UrlRoutingHandler"
 preCondition="integratedMode" verb="*"
 path="UrlRouting.axd"
 type="System.Web.Routing.UrlRoutingHandler,
 System.Web.Routing, Version=0.0.0.0,
 Culture=neutral,
 PublicKeyToken=31BF3856AD364E35"/>

与:

  <add name="UrlRoutingHandler"
 preCondition="integratedMode" verb="*"
 path="UrlRouting.axd"
 type="System.Web.HttpForbiddenHandler,
 System.Web, Version=2.0.0.0,
 Culture=neutral,
 PublicKeyToken=b03f5f7f11d50a3a" />

【讨论】:

    【解决方案2】:

    问题已暂时解决。在IIS7下运行网站会出现上述问题,使用cassini运行网站,每次都按预期运行,没有错误。

    如果您能提供有关此问题的任何进一步信息,我们将不胜感激。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多