SharePoint API で web.config を変更する
SharePoint API には、web.configを変更するためのクラスが用意されています。
このクラスを使うことで、たとえばFeatureのインストール時に自動的にweb.configを変更するということができるようになります。
web.configの変更には、SPWebConfigModificationクラスとSPWebServiceクラスを利用します。
例として、web.config内のappSettingsに値を追加する処理を書いてみます。
**1.変更内容をSPWebConfigModificationクラスにセットする。**SPWebConfigModificationクラスは、web.configに加える変更情報を保持するクラスです。
web.configを変更したい場合には、このクラスに変更内容をセットすることになります。
1: SPWebConfigModification appSetting = new SPWebConfigModification();
2: appSetting.Path = "configuration/appSettings";
3: appSetting.Name = "add[@key='NewKey']";
4: appSetting.Owner = "orivers";
5: appSetting.Sequence = 0;
6: appSetting.Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode;
7: appSetting.Value = "<add key='NewKey' value='NewValue'/>";
各プロパティの詳細はヘルプを見ていただくとして、ここでは簡単に説明します。
Pathプロパティに変更対象となるノードを指定し、Valueプロパティに変更内容を指定します。
Nameプロパティは、この変更を一意に識別するための値です。
Ownerプロパティも、Nameプロパティと合わせて、変更を一意に識別するために使用します。
Typeプロパティは、変更内容に合わせたタイプを指定します。
**2.変更を実行する。**SPWebConfigModificationクラスの作成が完了したら、web.configのアップデートをしたいWebアプリケーションで変更を実行します。