我使用方法IPartialRouter
自定义了GetPartialVirtualPath
的实现。所以它看起来像
public class MyCustomPartialRouter : IPartialRouter<PageType, ModelType>
{
public PartialRouteData GetPartialVirtualPath(ModelType article, string language, RouteValueDictionary routeValues, RequestContext requestContext)
{
//Some code here...
}
public object RoutePartial(PageType content, SegmentContext segmentContext)
{
//... and here
}
}
在另一个地方,我在extentsion-method中调用UrlResolver.GetVirtualPathForNonContent
方法:
public static string GetUrl(this UrlResolver urlResolver, object partialRoutedObject)
{
var language = ContentLanguage.PreferredCulture.Name;
var virtualPath = urlResolver.GetVirtualPathForNonContent(partialRoutedObject, language, new VirtualPathArguments());
return virtualPath.GetUrl();
}
在那个方法GetPartialVirtualPath
被调用7次之后......在另一个具有相同逻辑的项目中我有相同的行为。
你知道为什么会这样吗?