エンドポイントの名前変更に関する考慮事項
更新 : 2007 年 11 月
アプリケーション デザイナおよびシステム デザイナにおいて、エンドポイントの種類によっては、アプリケーション、システム、およびシステムのメンバでエンドポイントの名前を変更できます。エンドポイントの名前を変更する場合は、次の考慮事項に注意してください。
エンドポイントには一意の名前を指定する必要があります。エンドポイント名は、リソース名と競合しないようにしてください。また、システム内部にある場合はシステム メンバの名前とも競合しないようにしてください。
システム定義モデル (SDM: System Definition Model) と互換性のない文字は名前から削除されます。その結果、名前が別の名前または予約済みの SDM 名と競合する場合は、名前の末尾に序数が追加されます。既に序数付きの名前が存在する場合は、序数がインクリメントされます。SDM の詳細については、「システム定義モデル (SDM) の概要」を参照してください。
アプリケーション定義でエンドポイントの名前を変更すると、システム定義におけるその定義のすべてのユースで、そのエンドポイントの名前を変更することになります。システム定義のメンバに属するエンドポイントの名前を変更すると、他のシステム定義におけるアプリケーション定義およびその定義のすべてのユースで、そのエンドポイントの名前を変更することになります。
プロバイダ エンドポイントの名前を変更しても、アプリケーション ダイアグラムでそれらのエンドポイント間に既に接続が確立している場合を除き、Visual Studio では対応するコンシューマ エンドポイントは更新されません。
アプリケーションを実装する前に、必要に応じてアプリケーション定義のエンドポイントの名前を変更できます。ただし、アプリケーションの実装後にエンドポイント名を変更すると、そのエンドポイントに依存する関連プロジェクト ファイルにさまざまな点で影響します。
たとえば、.NET Web サービス プロバイダ エンドポイントの名前を変更するときは、次の考慮事項に注意してください。
既定では、エンドポイントの名前は WSDL サービス名に基づきます。たとえば、.NET Web サービス エンドポイントを初めてリバース エンジニアリングすると、エンドポイントは WSDL サービス名を基にした名前になります。
Web サービス クラスの名前がエンドポイント名と同じである場合に、エンドポイントの名前を変更すると、Web サービス クラスの名前も変更されます。
メモ : Web サービス クラス名を変更すると、それと同じ名前の Web サービス クラス ファイルおよび WSDL サービスの名前が変更されます。WSDL サービス名を変更すると、それと同じ名前の .asmx ファイルおよび WSDL バインディングの名前が変更されます。
したがって、エンドポイント名を変更すると、その変更が、エンドポイント名からクラス名、クラス名から WSDL サービス名、WSDL サービス名から .asmx ファイル名、そして WSDL バインディング名へと反映される可能性があります。
実装済みの Web サービス プロバイダ エンドポイント名の変更によって、.asmx ファイル名が変更される場合、関連付けられている Web 参照および基になるプロキシ クラスが削除されます。これによって、対応する Web サービス コンシューマ エンドポイントが未実装になる可能性があります。この場合は、コンシューマ エンドポイントを再実装して、新しい Web サービスを生成する必要があります。ソース コード管理を使用している場合は、再実装の前に、影響を受けたファイルのチェックインも必要になる可能性があります。Web サービス コンシューマ エンドポイントを再実装するには、エンドポイントを右クリックし、[実装] をクリックします。
実装済みの Web サービス プロバイダ エンドポイントの名前を変更したことによって、Web サービス名が変更された場合、その Web サービスへの Web 参照に関連付けられているプロキシ クラスが、サービス名と一致しなくなります。その結果、アプリケーションがコンパイルされない可能性があります。この状況を解決するには、コードで古いサービス名を参照している場所を修正します。