我有一个带有 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 个项目包含合同,另一个项目包含实现代码。
这也意味着有 2 个配置文件。到目前为止,我不知道哪一个需要以什么方式修改。
那么,哪个是要修改的,还是我需要同时修改两个?我假设实施项目是 WCF 配置的项目。
我现在的情况是,当我构建它时说我没有公开元数据,但它也尝试(并且失败)将合同公开为端点!
[/更新]