0
我的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
屬性。該屬性違背了首先指定解析器的目的,這只是爲了清理並最小化站點地圖文件。 - 一旦找到我需要它的工作
解析器所以我想兩個相關的問題。