2009-08-17 20 views
0

私のWebアプリケーションはいくつかのサービス(WCF)を公開していますので、XMLファイルを読み込んでAppDomain全体に見える静的変数を '保存'する必要があります。その変数は、サービスまたはページのいずれかから照会および更新する必要があります。WCFサービスとaspxページを使ってデータを共有する

私はApplication_Start(Global.asax.cs)にその変数をロードしますが、サービスリクエストが到着すると、変数は空であり、リロードする必要があります。これはすべてのサービス(3)で発生します。私は静的変数の3つのインスタンスで終わります。

すべてのアプリケーションが同じAppDomain上で実行されていることを確認する方法を教えてください。私は何を間違えているのですか?

win7のRTMボックス上のVS2008のSP1

+0

私はこれを行う方法がありません。 WCFサービスは、ASP.NETアプリケーションと同じAppDomainに存在しません。 –

+0

このページの図によると可能です... http://msdn.microsoft.com/en-us/library/aa702682.aspx – sebagomez

+0

私はそれを知らなかった。 IISでのアプリケーションの構造は何ですか?すべて1つのアプリケーションですか?すべて同じアプリケーションプールですか?たぶんAppDomainを3つのサービスに表示するデバッグコードを追加して、それらが同じAppDomainにあるかどうかを確認してください。 –

答えて

3

オクラホマので、研究のビットの後、私は解決策を見つけました。私はここに解決策を掲示し、それを見つけるのに役立つ多くのリンクを掲示します。

WCFサービスとASPXページは、サイドバイサイド(デフォルト)を実行しているときに同じAppDomainで実行されます。私の問題は、アプリケーションが自分のアプリケーションのルートフォルダの下にフォルダを作成していたためです。 AppDomainを再起動して静的な値を保持するようにしました。ここで

は私が読んで面白い記事の一覧だと、私の解決策を見つける助け:

+0

素晴らしい投稿リンク – Mike108

関連する問題