💻

SharePoint 2013 アプリケーション ページで Web.config を使用する

2022/01/01に公開

はじめに

SharePoint 2013 のアプリケーション ページは 空の SharePoint プロジェクト というテンプレートから作成します。初期状態ではまったくファイルが存在しない状態ですが、Web.config を配置できます。ただし、ちょっとした工夫が必要になります。

サンプル コード

https://github.com/karamem0/samples/tree/main/sharepoint-farm-solution-with-config

実装方法

Web.config

空の SharePoint プロジェクトを作成し、アプリケーション ページ (ApplicationPage1.aspx) を作成します。ソリューション エクスプローラーで ApplicationPage1.aspx が保存されたフォルダーを右クリックします。コンテキスト メニューから 追加 - 新しい項目 をクリックします。新しい項目の追加 のテンプレートの一覧には、通常の ASP.NET アプリケーションでは存在する Web 構成ファイル がありません。そこで代わりに アプリケーション構成ファイル を選択し Web.config と名前を変更します。

作成された Web.config を編集します。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="Message" value="Hello SharePoint" />
    </appSettings>
</configuration>

ApplicationPage1.aspx

参照設定に System.Configuration.dll を追加して、ApplicationPage1.aspx を編集します。

<%@ Import namespace="System.Configuration" %>
<asp:Content id="Main" contentplaceholderid="PlaceHolderMain" runat="server">
    <h1><%# ConfigurationManager.AppSettings["Message"] %></h1>
</asp:Content>

実行結果

デバッグを開始すると以下のように表示されます。

おわりに

アプリケーション ページの Web.config は、ASP.NET Web アプリケーションのサブ フォルダーにある Web.config として配置されます。そのため、すべての機能 (HTTP モジュールの登録など) が使えるわけではありません。ルートの Web.config は既定で C:\inetpub\wwwroot\wss\VirtualDirectories\{{port-number}} にあります。ルートの Web.config も編集できますが、アプリケーション全体に影響を与えてしまうので注意が必要です。

Discussion