CreateNewDiscussionReply メソッドでディスカッション掲示板に返信を投稿しても "返信数" 列に表示される返信数に反映されない

現象

OS の言語と異なる言語で作成した SharePoint 2010 サイトにおいて、コンソール アプリケーションから CreateNewDiscussionReply メソッドを使用してディスカッション掲示板に返信を投稿しても "返信数" 列に表示される返信数に反映されません。

原因

本現象はコンソール アプリケーションのスレッドが保持するカルチャ情報と SharePoint サイトのカルチャ情報が異なることに起因して発生します。
例えば、日本語 OS 上でコンソール アプリケーションを実行した場合、カルチャ情報として "日本語 (日本)" を含むコンテキスト情報とともにスレッドが実行されます。

しかしながら、SharePoint 2010 に言語パックを適用し、言語に例えば、英語 (米国) を選択して作成した SharePoint サイトでは、サイトのカルチャ情報は "英語 (米国)" になるため、コンソールアプリケーションのスレッドのカルチャ情報と不整合が発生し、"返信数" 列の値が増加しません。

解決方法

本現象を回避するためには、コンソール アプリケーションのスレッドのカルチャ情報を SharePoint サイトと同じになるよう変更する処理をプログラムに追加します。

追加する、カルチャ情報を変更する処理の例:
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(1033);
※上記の例では、カルチャ情報を英語 (米国) (1033) に変更しています。

なお、この現象は、実行時に OS 環境のカルチャ情報が保持されるコンソール アプリケーションで発生し、同一のカルチャ情報を持つサイト上に配置した Web パーツなどでは発生いたしません。

状況

マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。
プロパティ

文書番号:2716486 - 最終更新日: 2016/09/29 - リビジョン: 1

Microsoft SharePoint Server 2010

フィードバック