TermStore Count为0

时间:2012-01-28 05:13:11

标签: sharepoint taxonomy

概述 我正在观察一个非常奇怪的行为,代码试图从TaxonomySession中检索TermStore。代码如下所示:

            using (SPSite mySite = new SPSite(url))
            {
            TaxonomySession session = new TaxonomySession(mySite);

            // Get all the TermStores associated with the provided site.
            TermStoreCollection stores = session.TermStores;
            Console.WriteLine(stores.Count);

问题在于:

  1. 上述代码不会返回任何TermStores,即计数为零
  2. 如果我从同一个命令提示符运行以下PowerShell脚本,我会在计数中获得1个TermStore。

    $site = new-object Microsoft.SharePoint.SPSite("https://mysite") 
    $session = new-object Microsoft.SharePoint.Taxonomy.TaxonomySession($site) 
    $session.TermStores.Count 
    
  3. 我尝试了以下内容:

    1. 我的托管元数据应用程序代理是默认代理组的一部分
    2. 正确配置了Managed Metadata Service的管理员
    3. 正确配置了Managed Metadata Service的权限
    4. 托管元数据应用程序池在服务器场帐户
    5. 下运行
    6. 修改上述代码以在提升的权限下运行
    7. 奇怪的是,上面的第一个代码块在编译为可执行文件时不会检索任何TermStore,并从命令窗口调用,该命令窗口在服务器场凭据下运行。在同一窗口中,我可以复制并粘贴等效PowerShell脚本的第二个块并运行它!

      此外,此问题仅发生在我们的生产环境中。在DEV,TEST和Pre Prod环境中成功运行了相同的可执行文件。

      在此阶段的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我们在测试环境中遇到了完全相同的问题。但是,我们的开发服务器正在按预期工作。我的同事能够通过更新Microsoft支持中提供的修补程序来缩小问题范围并解决问题。

以下是在研究该特定问题时可能遇到的修补程序和信息的详细信息。

有关其他信息:

  1. http://chrisforbesblogs.net/2009/12/02/the-managed-metadata-service-or-connection-is-currently-not-available
  2. http://expectedexception.wordpress.com/2011/06/15/the-managed-metadata-service-or-connection-is-currently-not-available-the-application-pool-or-managed-metadata-web-service-may-not-have-been-started-please-contact-your-administrator/
  3. 在更新服务器的任何修补程序之前,请咨询您的系统管理员。希望这可以帮助您解决生产环境中的问题。

相关问题