2つのメソッドを持つ小さなWCFソリューションがありますが、ビルド時にこのエラーが発生します。
メッセージを却下せずに残すと、
WCF Service Host cannot find any service metadata. This may cause the client application to run improperly. Please check if metadata is enabled.
構成が間違っていることは間違いありません。おそらく、定義されたエンドポイントが名前空間と一致していませんが、どこに何を設定すればよいかわかりません。
Contractsクラスの名前空間にはJOB_1_0_Service.Contracts
、2つのメソッドがあります。このAPP.Config
プロジェクトの中には次のものがあります:
<endpoint address="/Address1" binding="wsHttpBinding" contract="JOB_1_0_Service.Contracts.IService">
契約方法は次のように定義されます。
[ServiceContract]
public interface IService
{
[OperationContract]
GetNearbyJobsResponse GetNearbyJobs(GetNearbyJobsRequest request);
[OperationContract]
GetChildJobsResponse GetChildJobs(GetChildJobsRequest request);
}
実装クラスの名前空間もJOB_1_0_Service.Implementation
2つのメソッドを使用しています。
GetNearbyJobsResponse IService.GetNearbyJobs(GetNearbyJobsRequest request)
{
...
}
と
GetChildJobsResponse IService.GetChildJobs(GetChildJobsRequest request)
{
...
}
どの設定ファイルに何を入れるべきですか?本当にこれが問題である場合はどうなりますか?
[アップデート]
繰り返しになりますが、1つのソリューションに2つのプロジェクトがあります。1つのプロジェクトには契約が含まれ、もう1つのプロジェクトには実装コードが含まれます。
これは、2つの構成ファイルがあることも意味します。これまでのところ、どちらがどのように改造する必要があるのかわかりません。
では、どちらを変更するのですか、それとも両方を変更する必要がありますか?実装プロジェクトはWCF構成のプロジェクトだと思います。
私は今、ビルドしたときにメタデータが公開されていないと表示されているにもかかわらず、エンドポイントとしてコントラクトを公開しようとしています(そして失敗しています)。
[/アップデート]