web.config
のsiteMap
要素が無視されています。どうしてこれなの? 私の目的は、siteMapNodeUrlResolver
を有効にすることです。web.config siteMap要素が無視されました
web.configファイル
<system.web>
<siteMap defaultProvider="MvcSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="MvcSiteMapProvider"
type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider"
siteMapFile=""
securityTrimmingEnabled="true"
cacheDuration="5"
enableLocalization="false"
scanAssembliesForSiteMapNodes="true"
excludeAssembliesForScan=""
includeAssembliesForScan="AACOMvc"
attributesToIgnore=""
nodeKeyGenerator="MvcSiteMapProvider.DefaultNodeKeyGenerator, MvcSiteMapProvider"
controllerTypeResolver="MvcSiteMapProvider.DefaultControllerTypeResolver, MvcSiteMapProvider"
actionMethodParameterResolver="MvcSiteMapProvider.DefaultActionMethodParameterResolver, MvcSiteMapProvider"
aclModule="MvcSiteMapProvider.DefaultAclModule, MvcSiteMapProvider"
siteMapNodeUrlResolver="AACOMvc.SiteMapNodeUrlResolver, AACOMvc"
siteMapNodeVisibilityProvider="MvcSiteMapProvider.DefaultSiteMapNodeVisibilityProvider, MvcSiteMapProvider"
siteMapProviderEventHandler="MvcSiteMapProvider.DefaultSiteMapProviderEventHandler, MvcSiteMapProvider"
/>
</providers>
</siteMap>
<pages>
<namespaces>
<add namespace="MvcSiteMapProvider.Web.Html" />
<add namespace="MvcSiteMapProvider.Web.Html.Models" />
</namespaces>
</pages>
</system.web>
SiteMapNodeUrlResolver.cs
using MvcSiteMapProvider;
using MvcSiteMapProvider.Web.UrlResolver;
using System;
using System.Collections.Generic;
namespace AACOMvc
{
public class SiteMapNodeUrlResolver : ISiteMapNodeUrlResolver
{
public SiteMapNodeUrlResolver() : base() { }
public bool AppliesTo(string providerName)
{
throw new NotImplementedException(); // line never executes
}
public string ResolveUrl(ISiteMapNode node, string area, string controller, string action, IDictionary<string, object> routeValues)
{
throw new NotImplementedException(); // line never executes
}
}
}
私はプロバイダがノード上urlResolver
属性を設定することで、私のリゾルバを見つけるのに役立つ、それを見つけました。しかし、その後、私は得る:
例外の詳細を:System.MissingMethodException:タイプ のコンストラクタが 'AACOMvc.SiteMapNodeUrlResolver' が見つかりません。
- 私はむしろ私のリゾルバを指定するグローバルより
urlResolver
属性を指定します。この属性は、最初にサイトマップファイルを整理して最小化するだけのリゾルバを指定するという目的を破ります。 - それは、私はそれが
作業必要リゾルバを見つけたら、だから私は二つの関連の問題を推測します。