方法: COM+ サービス モデル構成ツールを使用する
適切なホスト モードを選択したら、COM+ サービス モデル構成コマンド ライン ツール (ComSvcConfig.exe) を使用して、Web サービスとして公開されるアプリケーション インターフェイスを構成します。
Note
以下の各タスクを実行するには、コンピューターの管理者である必要があります。
Windows 7 コンピューターで ComSvcConfig.exe を使用して、最新のサービス モデル バージョン (現在 v4.5) を使用するように Web サービスを構成する場合は、次の手順を実行します。
レジストリ キー
[HKEY_LOCAL_COMPUTER\SOFTWARE\Microsoft\.NETFramework]\OnlyUseLatestCLR
を DWORD 値 0x00000001 に設定します。comsvcconfig.exe を実行します。
手順 1. で追加したレジストリ キーを元の値に戻すか、存在しない場合は削除します。
重要
このレジストリ キーを元に戻すことは重要です。 これは互換性のキーです。 この変更を元に戻さないと、コンピューターで実行している他の .NET アプリケーションで問題が発生する可能性があります。
警告
.NET Framework 3.5 がインストールされていない場合、Windows 8 マシンで ComSvcConfig.exe /install を使用すると、"お使いの PC にあるアプリには、Windows の次の機能が必要です: .NET Framework 3.5 (.NET 2.0 と .NET 3.0 を含む)" というメッセージを示すダイアログが表示されます。 このダイアログは無視してもかまいません。 また、OnlyUseLatestCLR レジストリ キーを DWORD 値 0x00000001 に設定することもできます。
COM+ ホスティング モードを使用してインターフェイスを追加する
次の例に示すように、
/install
オプションと/hosting:complus
オプションを使用して ComSvcConfig を実行します。ComSvcConfig.exe /install /application:OnlineStore /contract:ItemOrders.Financial,IFinances /hosting:complus /verbose
このコマンドは、Web サービスとして公開されるインターフェイスのセットに (OnlineStore COM+ アプリケーションの)
IFinances
コンポーネントのItemOrders.IFinancial
インターフェイスを追加します。 サービスは COM+ ホスト モードを使用するため、アプリケーションを明示的にアクティブ化する必要があります。コンポーネントとインターフェイスにはアスタリスク (*) をワイルドカード文字として使用できますが、選択した機能だけを Web サービスとして公開する場合は使用しないでください。 ワイルドカードを使用すると、このコンポーネントの将来のバージョンを使用して実行したときに、構成構文の決定時には存在しなかったインターフェイスが誤って公開される可能性があります。
/verbose オプションを指定すると、ツールは、エラーだけでなく警告も表示します。
公開されたサービスのコントラクトには、
IFinances
インターフェイスのすべてのメソッドが含まれます。
COM+ ホスティング モードを使用してインターフェイスから特定のメソッドを追加する
次の例に示すように、
/install
オプションと/hosting:complus
オプション、および必要なメソッドの名前を明示的に指定して、ComSvcConfig を実行します。ComSvcConfig.exe /install /application:OnlineStore /contract:ItemOrders.Financial,IFinances.{Credit,Debit} /hosting:complus /verbose
このコマンドは、公開されたサービス コントラクトに
Credit
インターフェイスのDebit
メソッドとIFinances
メソッドだけを操作として追加します。 インターフェイスのその他のメソッドはすべてコントラクトから除外されるため、Web サービス クライアントから呼び出すことができません。
Web ホスティング モードを使用してインターフェイスを追加する
次の例に示すように、
/install
オプションと/hosting:was
オプションを使用して ComSvcConfig を実行します。ComSvcConfig.exe /install /application:OnlineWarehouse /contract:ItemInventory.Warehouse,IStockLevels /hosting:was /webDirectory:root/OnlineWarehouse /mex /verbose
このコマンドは、Web サービスとして公開されるインターフェイスのセットに (OnlineWarehouse COM+ アプリケーションの)
IStockLevels
コンポーネントのItemInventory.Warehouse
インターフェイスを追加します。 サービスは、COM+ 内ではなく、IIS の OnlineWarehouse 仮想ディレクトリ内で Web ホストされるため、アプリケーションは、必要に応じて自動的にアクティブ化されます。Web ホスト (インプロセス) 構成を使用するには、コンポーネント サービス管理コンソールを使用して、サーバー アプリケーションではなくライブラリ アプリケーションとして実行されるように COM+ アプリケーションを構成する必要があります。 サーバー アプリケーションとして構成されたアプリケーションは、標準の Web ホスト モードを使用するため、各要求の処理でプロセス ホップが発生します。
/mex
オプションは、サービスからコントラクト定義を取得するクライアントをサポートするために、アプリケーションのサービス エンドポイントと同じトランスポートを使用する追加の Metadata Exchange (MEX) サービス エンドポイントを追加します。
指定したインターフェイスの Web サービスを削除する
次の例に示すように、
/uninstall
のオプションを使用して ComSvcConfig を実行します。ComSvcConfig.exe /uninstall /application:OnlineStore /contract:ItemOrders.Financial,IFinances /hosting:complus
このコマンドは、(OnlineStore COM+ アプリケーションから)
IFinances
コンポーネントのItemOrders.Financial
インターフェイスを削除します。
現在公開されているインターフェイスを一覧表示する
次の例に示すように、
/list
のオプションを使用して ComSvcConfig を実行します。ComSvcConfig.exe /list
このコマンドは、ローカル コンピューターに関して、現在公開されているインターフェイス、および対応するアドレスとバインディングの詳細を一覧表示します。
現在公開されている特定のインターフェイスを一覧表示する
次の例に示すように、
/list
のオプションを使用して ComSvcConfig を実行します。ComSvcConfig.exe /list /application:OnlineStore /hosting:complus
このコマンドは、ローカル コンピューター上の OnlineStore COM+ アプリケーションの現在公開されている COM+ ホスト インターフェイスを、対応するアドレスやバインディングの詳細と共に一覧表示します。
オプションのヘルプを表示する
次の例に示すように、/? オプションを 使用して ComSvcConfig を実行します。
ComSvcConfig.exe /?