首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DynamicNodeProviderBase中的MvcSiteMapProvider和StructureMap?

DynamicNodeProviderBase中的MvcSiteMapProvider和StructureMap?
EN

Stack Overflow用户
提问于 2012-11-16 03:39:29
回答 1查看 388关注 0票数 1

我在试着make a dynamic sitemap using MvcSiteMapProvider

问题是_jobService是空的,我做错了什么?我在其他地方使用IJobService,所以它配置正确。

代码语言:javascript
复制
x.For<IJobService>().Use<JobService>();

下面是我的代码:

代码语言:javascript
复制
private IJobService _jobService
{
        get
        {
            return DependencyResolver.Current.GetService<IJobService>();
        }
}

public override IEnumerable<DynamicNode> GetDynamicNodeCollection()
{
        List<JobViewModel> activeJobs = _jobService.GetJobs().ToList();

        // Create a node for each job
        foreach (var job in activeJobs)
        {
            var node = new DynamicNode();
            node.Title = job.Title;
            node.RouteValues.Add("id", job.Id);

            yield return node;
        }
}

这段代码只运行一次,因为我使用它来创建一个sitemap.xml,所以它创建了几个节点,然后在遇到动态节点时出错。如果我在出错后刷新页面,我会看到创建的sitemap.xml (减去动态节点,如/job/1/job/2)。

EN

回答 1

Stack Overflow用户

发布于 2013-08-19 06:26:32

我不确定到底是什么问题,但我怀疑它与初始化顺序有关-即在运行DI容器配置代码之前构建站点地图。

这已经在MvcSiteMapProvider v4中修复了,因为我们现在使用DI来配置整个提供程序,并且已经删除了对微软的SiteMapProvider模型的依赖。该提供程序模型几乎是MvcSiteMapProvider所有问题(缓存、DI、性能、线程、初始化等)的根源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13404855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档