1

現在、AppFabricサーバーでWCFサービスを実行しています。アプリケーションは、カスタム構成セクションを取得するためにweb.configファイルを動的にロードする必要があります。

私の開発マシンでは、次のように構成をロードできます。

WebConfigurationManager.OpenMappedWebConfiguration(webMappedFile, virtualPath);

しかし、テストマシン(AppFabricサーバー)で例外が発生し、実際にWebアプリケーションが実行されているサイトである3番目のパラメーターを指定する必要があるようです。

WebConfigurationManager.OpenMappedWebConfiguration(webMappedFile, virtualPath, "MySite");

だから私はそれをハードコーディングしようとしました、そしてそれはうまくいきました。とにかくこれは受け入れられないので、将来どのサイトでサービスを実行するかわからないため、WebConfigurationManagerにサイトを動的に提供する必要があります。誰かがそれを達成する方法を知っていますか?

ありがとう。

4

2 に答える 2

0

リクエストの処理の一部としてこのコードを実行している場合は、次を使用できます。

Request.ServerVariables("server_name")

参照: http: //msdn.microsoft.com/en-us/library/ms525396 (VS.90).aspx

コメントに基づいて編集する

必要なパラメータは、マシン名ではなくサイト名です。コードは多くのマシンで実行されています。コードがWebサイト上にあることがわからなくなった場所でコードが実行されている場合、実行されているWebサイトの名前を取得することは困難です。

次に、2つのオプションがあります。

  • httpconextを持つレイヤーからパラメーターとして名前を送信します
  • これが機能するかどうかはわかりませんが、system.webへの参照をプロジェクトに追加してみてください。コンパイルされる可能性がありますが、実行するとnull参照例外が発生する可能性があります。おそらく試してみる価値があります。
于 2010-09-09T07:49:27.293 に答える
0

どうですかServer.MachineName

于 2010-09-09T08:34:09.913 に答える