XmlSiteMapController无参数公共构造函数

时间:2013-11-07 16:12:54

标签: mvcsitemapprovider

我正在使用NuGet包MvcSiteMapProvider MVC4。当我运行MvcSiteMapProvider.Web.Mvc.XmlSiteMapController.RegisterRoutes(路由); using this method,运行localhostXXX / sitemap.xml时出现以下错误

[InvalidOperationException:尝试创建“MvcSiteMapProvider.Web.Mvc.XmlSiteMapController”类型的控制器时发生错误。确保控制器具有无参数的公共构造函数。]

表面上看,MvcSiteMapProvider.Web.Mvc.IXmlSiteMapResultFactory xmlSiteMapResultFactory为null,但我不知道为什么(或坦率地说,这意味着什么)。

我根本没有弄乱路线,但我已经开发了一些网站。我创建了一个XmlSiteMapController的自定义版本,并为它提供了重载的空XmlSiteMapController方法,但我对IXmlSiteMapResultFactory并不熟悉,此外,为什么它首先尝试调用null方法?为了覆盖基础,我已经卸载并重新安装了MvcSiteMapProvider MVC4。

在我所有其他网站上工作正常......有什么想法吗?

修改***

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

        MyAPI.Controllers.CustomXmlSiteMapController.RegisterRoutes(routes);

然后在那里做了一个空白的控制器(用于追踪):

    public CustomXmlSiteMapController()
    {
    }

继续......

    public CustomXmlSiteMapController(MvcSiteMapProvider.Web.Mvc.IXmlSiteMapResultFactory xmlSiteMapResultFactory)
    {

0 个答案:

没有答案