[解決済み] WCFサービス起動エラー "このコレクションには、スキームhttpを持つアドレスが既に含まれています。"
質問
私は、WCFサービス契約とそのWCFサービスへの呼び出しを行うSilverlightコントロールを含むWebアプリケーションを構築しました。私の開発およびテストサーバー上で、それは素晴らしい動作をします。
本番サーバーにデプロイしてアプリケーションを実行すると、次のような例外が発生します。
System.ServiceModel.ServiceActivationException
これは、コンパイル中に例外が発生したため、サービスをアクティブにできないことを意味します。 その例外とは
このコレクションには、スキームがhttpのアドレスが既に含まれています。このコレクションには、スキームごとに最大1つのアドレスが存在することができます。
私は、Webサイトに複数のホストヘッダがある場合、この例外がスローされる可能性があることを読みました。 IISでホストされているWCFサービスは、1つのベースアドレスしか持つことができないようです。 どうすればこの問題を回避できますか?
解決方法は?
概要
コードの解決策 これ
コンフィギュレーション・ソリューション ここで
の助けを借りて マイク・チャリイ コードでこれを行う方法について、いくつかの解決策を見つけました。 この問題は、私たちがライブ環境にデプロイするほとんどすべてのプロジェクトに影響を与えることになるので、私は純粋に設定による解決策を探しました。 最終的には、.net 3.0 と .net 3.5 でこれを行う方法を詳細に説明したものを見つけました。
このサイトから引用した、アプリケーションのウェブ設定を変更する方法の例は以下のとおりです。
<system.serviceModel>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="net.tcp://payroll.myorg.com:8000"/>
<add prefix="http://shipping.myorg.com:9000"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
</system.serviceModel>
上記の例では net.tcp://payroll.myorg.com:8000 および http://shipping.myorg.com:9000 は のみであり、その基本アドレスは それぞれのスキームで を通過させることができる。そのため baseAddressPrefixFilterには、以下の機能はありません。 はワイルドカードをサポートしています。
IISが提供するbaseAddressesは は、他のスキームにバインドされたアドレスを持っています。 に存在しない。 のリストがあります。これらのアドレスは がフィルタリングされます。
Dnsソリューション(未検証)。 もし、あなたのウェブアプリケーションに固有の新しい dns エントリを作成し、新しいウェブサイトを追加し、dns エントリに一致する単一のホストヘッダを与えれば、この問題は完全に軽減され、カスタムコードを書いたり web.config ファイルにプレフィックスを追加する必要はなくなると思います。
関連
-
[解決済み] msiexec を使用せずにコマンドラインから MSI ファイルをアンインストールする
-
[解決済み] Task<> には 'GetAwaiter' の定義がありません。
-
[解決済み] 16進数値0x00は無効な文字です。
-
[解決済み] リファレンスの追加にSystem.Web.Mvcが表示されないのはなぜですか?
-
[解決済み] gacutil.exeはどこですか?
-
[解決済み] VB.NETでファイル名を一意のサフィックスに変更するには?
-
[解決済み] .net の OOM 問題を解決する必要があります。
-
[解決済み] 実際のサービスはデータを返すのに、なぜWebServiceはnullを返すのですか?
-
[解決済み] 埋め込みリソーステキストファイルの読み方
-
[解決済み] Visual Studioの「Any CPU」ターゲットはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ファイル *.mdf をデータベースとして添付できません。
-
[解決済み] ポストバックまたはコールバックの引数が無効です。 イベント検証は '<pages enableEventValidation="true"/>' を使用して有効になっています。
-
[解決済み] WCF エラーの解決。このサービスのメタデータパブリッシングは現在無効になっています。
-
[解決済み] COMExceptionエラー80040154を修復する方法は?
-
[解決済み] スマートクライアント・ソフトウェアファクトリーの体験談
-
[解決済み] Visual Studioの "ターゲットフレームワーク "が見つからない
-
[解決済み] AndroidでWCFサービスを利用する方法
-
[解決済み] このコンピュータには、.NET Framework 4.6またはそれ以降の更新プログラムがすでにインストールされています。
-
[解決済み] AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか?
-
[解決済み] Math.Round(2.5)はなぜ3でなく2を返すのですか?