2009-07-28 11 views
1

WCFを使用するClassLibraryを使用してCOM相互運用コンポーネントを作成しました。 COMコンポーネントのメソッド(WCFを使用する)をClassic ASPページから呼び出すと、次のエラーが発生します。WCFスローエラーを使用する従来のASPからCOMコンポーネントにアクセス

エラーの種類:System.ServiceModel(0x80131509) ServiceModelクライアント構成セクションで契約「DLSWS.IDLSWS」を参照して、デフォルト エンドポイント要素を見つけることができませんでした。これは、アプリケーションに 設定ファイルが見つかりませんでした。または、この契約に一致する エンドポイント要素がクライアント 要素に見つかりませんでした。

私は上記のエラーから理解します:aspページは、COMコンポーネント内のapp.configファイルからWCF構成を読み取ることができません。どうすればこの問題を解決できますか?

+0

は、IISのバージョンを指定します怒鳴る示す(コンフィグ設定で) ファイルと呼ばれるapplication.configとコンテンツを持つ別のファイル 発信者application.manifestを置きますか? – AnthonyWJones

答えて

0

COMコンポーネントにApp.configファイルがありますか?そうでなければ、COMはweb.configの設定にアクセスできない可能性があります。

コンポーネントのApp.configファイルを作成するか、WebアプリケーションからEndpointインスタンスを渡します。

+0

ハイリチャード。 COMコンポーネントにはすべてのWCF情報が含まれているapp.configがあります。ここでの問題は、従来のASPページからCOMコンポーネントを呼び出すときに、app.configファイルからWCF関連のエンドポイント情報を読み込むことができないことです。私はこれを達成する? –

+0

ダリンが言及しているので、COM +アプリケーションのプロパティに "Application Root"ディレクトリが設定されていることを確認してください。 Windows 2000を使用している場合、darinは回避策の概要を示しています。 –

2

COMオブジェクト内にクライアントチャネルを作成するときにエンドポイントをプログラマチックに設定することも、app.configを使用することもできます。 Windows 2000を使用している、とあなたのCOM +アプリケーションはサーバー1である、あなたの のapp.configをdllhost.exe.config呼ばれるべきとする必要がある場合は

:COM +アプリケーションのためのapp.configを設定するには

同じ ディレクトリ(%SystemRoot%\ System32)でdllhost.exeと入力します。

Windows 2003を使用している場合は、 COM +アプリのプロパティの[アクティブ化]タブに移動し、アプリケーションルートディレクトリのプロパティを に設定し、そのディレクトリに

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
</assembly> 
+0

Hai Darin、 My COMコンポーネントにはすべてのWCF情報が含まれているapp.configがあります。ここでの問題は、従来のASPページからCOMコンポーネントを呼び出すときに、app.configからWCF関連のエンドポイント情報を読み込めないファイル。どのように私はこれを達成することができますか? –

+0

あなたのapp.configはどこに保存されていますか? Windows 2000の場合、私の記事で説明したように、ファイルはdllhost.exe.configと呼ばれ、%SystemRoot%\ System32にあります.Windows 2003の場合、ファイルはapplication.configとapplication .manifestファイル。 –

+0

@ダリン:私は、vinodが "COM +"の "プラス"ビットをつまらないと思っています。質問にCOM +の言及はありません。 – AnthonyWJones

関連する問題