にWCF /ワークフローサービスをホスティング:web.configファイルの継承/マージ/スコープは、私は現在、私のAppFabricのワークフローサービスとWCFサービスのためにIISで次のような構造をテストしていたサブフォルダ
/WebApp/ <-- IIS Application here
/WebApp/bin/ <-- binaries here
/WebApp/web.config <-- empty.
/WebApp/WorkflowApp/V1.0/web.config <-- Settings are stored here
/WebApp/WorkflowApp/V1.0/MyWorkflow.xamlx
/WebApp/WorkflowApp/V1.0/Default.aspx <-- just for testing
/WebApp/WcfService/V1.0/web.config <-- Settings are stored here
/WebApp/WcfService/V1.0/MyService.svc
/WebApp/WcfService/V1.0/Default.aspx <-- just for testing
私のワークフローサービスでの私のコードの活動の一つから
<appSettings>
<add key="TestSetting" value="Test Setting Value" />
</appSettings>
、そして私のWCFサービスの中から、私は次のコードを使用して「のappSettings」からアイテムを読みたい:
私のweb.configファイルには、次のセクションが含まれています。
var config = ConfigurationManager.AppSettings["TestSetting"];
これは常にnullを返します。 WebConfigurationManager.AppSettings ["TestSetting"]も試みましたが、これもnullを返します。 web.config階層がappSettingsに対して機能していないようです。
テストのために、このappSettingがASP.NET Webページからアクセスできるかどうかを確認するために、Default.aspxに次の内容を追加しました。
<html>
<body>
<h2>
TestWebApp
</h2>
<%= ConfigurationManager.AppSettings["TestSetting"] %>
</body>
</html>
サブフォルダ内のweb.configは処理されていないようです。 AppFabricワークフロー/ WCFサービスで構成スコープが機能しないのはなぜですか?それを機能させるために私は何ができますか?
IISのWebアプリケーションのルートにワークフロー/ WCFサービスを配置すると、appSettingsセクションに期待どおりにアクセスできます。ワークフローサービスをサブディレクトリに配置する場合にのみ、構成セクションにアクセスできません。
更新:
それは両方のケースに影響を与えるので、私は、WCFとワークフローサービスにそれを一般化する質問を変更しました。私がこれを試している理由は、IISアプリケーションとアプリケーションプールの数を減らすことです。 Windows Server AppFabric Architecture Guideによると
:
同様アプリケーションプールの計画に、我々はそれが理にかなっているWebアプリケーションに使用する論理的にグループの複数のサービスということをお勧めします。 AppFabricは何百ものWebアプリケーションを処理するように設計されています。しかし、パフォーマンスと管理性を最適化するためには、Webアプリケーションの数をできるだけ少なくすることが目標です。
このテキストから、Webアプリケーションのサブフォルダに複数のWCF/Workflowサービスを置くと効果があります。
おそらくあなたは正しいです。この記事(http://msdn.microsoft.com/en-us/library/ee677351.aspx)によれば、スコープ規則に従ってサービス構成を行います。私はちょうどこれらの有効範囲のルールが構成内の他のすべてにも適用されていると仮定しました。おそらくこれはそうではありません。 appSettingsはスコープ規則に従わないことがあります。 – Mas
ワークフローサービスでこのような設定をどのように達成できるか考えていますか? – Mas
特別扱いが必要です。サブディレクトリはIServiceBehaviorを介してServiceHostから取得する必要があります。ワークフローサービスの場合、このデータをワークフロー拡張に添付しました。 – Mas