我们使用FrontPage RPC将(大量)文件上载到SharePoint(
放置文档
呼叫)。据我们所知,通过这个协议设置分类字段的值需要
.
问题是,除非以前在列表项上显式地使用过术语,否则它们似乎不会
WSS ID。这将导致上载以前未使用元数据项的文档失败。
守则
TaxonomyField.GetWssIdsOfTerm
在下面的代码片段中,不返回这些术语的ID。
SPSite site = new SPSite( "http://some.site.com/foo/bar" );
SPWeb web = site.OpenWeb();
TaxonomySession session = new TaxonomySession( site );
TermStore termStore = session.TermStores[new Guid( "3ead46e7-6bb2-4a54-8cf5-497fc7229697" )];
TermSet termSet = termStore.GetTermSet( new Guid( "f21ac592-5e51-49d0-88a8-50be7682de55" ) );
Guid termId = new Guid( "a40d53ed-a017-4fcd-a2f3-4c709272eee4" );
int[] wssIds = TaxonomyField.GetWssIdsOfTerm( site, termStore.Id, termSet.Id, termId, false, 1);
foreach( int wssId in wssIds )
{
Console.WriteLine( wssId );
}
我们还尝试直接查询分类法隐藏列表,结果类似。
呼救声
-
改变我们上传的方式,或者以不同的方式上传条款,或者切换到不同的协议。
-
-
编写/找到一个工具来预解析所有术语的wssid。关于如何做到优雅的建议是非常受欢迎的。