からめもぶろぐ。

SharePoint が得意なフレンズなんだね!すごーい!

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

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

Web.config の追加

空の SharePoint プロジェクトを作成し、アプリケーション ページ (ApplicationPage1.aspx) を作成します。ソリューション エクスプローラーで [Layouts] - [SharePointProject1] のコンテキスト メニューから [追加] - [新しい項目の追加]をクリックします。[新しい項目の追加] のテンプレートの一覧には、通常の ASP.NET アプリケーションでは存在する [Web 構成ファイル] がないので、[アプリケーション構成ファイル] を選択し「Web.config」と名前を変更します。

f:id:karamem0:20160624212035p:plain

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

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="Hoge" value="Fuga" />
    </appSettings>
</configuration>

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

<%@ Import namespace="System.Configuration" %>

(snip)

<asp:Content id="Main" contentplaceholderid="PlaceHolderMain" runat="server">
    <h1><%# ConfigurationManager.AppSettings["Hoge"] %></h1>
</asp:Content>

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

f:id:karamem0:20160624212040p:plain

まとめ

注意点としては、アプリケーション ページの Web.config は、ASP.NET Web アプリケーションのサブ フォルダーにある Web.config として配置されるので、すべての機能 (HTTP モジュールの登録など) が使えるわけではありません。ルートの Web.config は「C:\inetpub\wwwroot\wss\VirtualDirectories\<ポート番号>」にあるので、こちらを編集することもできますが、アプリケーション全体に影響を与えてしまうので注意が必要です。