我整天在这里和其他地方搜索,所以请原谅任何冗余,但是,我正在尝试做我收集到的应该是简单的、推荐的方式来构建 WCF 服务。
该场景是一个服务,为多个 ServiceContract 提供服务,每个 ServiceContract 在它自己的项目中。
我从简单开始;在我的解决方案中,我有一个 WCF ServiceLibrary 和一个类库,以及一个默认配置文件。
我在解决方案中有另一个项目,名为WCF_Sandbox.Greeting
. 程序集名称是 WCF_Sandbox.Greeting.dll
在那个项目中有一个 IGreeting 类(装饰为 ServiceContract)和一个实现类 Greeting。
我真的很难获得通过服务公开的SayHello()
方法。IGreeting
WCF_Sandbox
我不断得到
“此服务未在...实施的服务中列出”
错误,或错误
没有可用的元数据。
如果有人能建议如何从这个其他项目获取服务以出现在 WCF_Sandbox 服务中,我将不胜感激。似乎这是很多人都在努力解决的一个基本问题,而且我还没有在任何地方看到它以直接的方式得到回答。非常感谢!
app.config file. System.Configuration does not support config files for libraries. -->
<system.serviceModel>
<services>
<service name="WCF_Sandbox.Service1">
<host>
<baseAddresses>
<add baseAddress = "http://localhost:8733/Design_Time_Addresses/WCF_Sandbox/Service1/" />
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" contract="WCF_Sandbox.IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>