如何在控制台应用程序
我正在学习WCF托管WCF服务。所以我创建了wcf项目,并且有一个类。代码如下现在如何在控制台应用程序
namespace TestWcfService1
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
public class Service1 : IService1
{
public string GetData(string value)
{
return string.Format("You entered: {0}", "Welcome " + value);
}
}
}
当我试图WCF服务引用添加到我的控制台应用程序,如添加服务引用和这样HTTP服务网址://本地主机:21541/Service1.svc然后我出现错误元数据包含无法解析的引用:'http:// localhost:21541/Service1.svc'。
,所以我只是不能够达到我的目的。我知道一些我错过了什么,这就是为什么我得到错误。所以请指导我如何将服务参考添加到控制台应用程序。 app.config会自动更新,或者我需要在那里写任何东西。请帮助。感谢
在配置上仔细检查该服务的行为设置为允许服务元数据:
<serviceMetadata httpGetEnabled="true"/>
,并在服务部分中添加元数据终结
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
编辑:实施例CONFI摹
<system.serviceModel>
<services>
<service behaviorConfiguration="BehaviorConfig"
name="[ServiceNameGoesHere]">
<endpoint address="" binding="wsHttpBinding" contract="[ServiceContractHere]">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="BehaviorConfig">
<serviceMetadata httpGetEnabled="True"/>
<!-- To receive exception details in faults for debugging purposes,
set the value below to true. Set to false before deployment
to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
有丹Rigsby的博客一个不错的书面记录称为WCF Metadata这也解释了更详细关于设立MEX端点(这是需要添加服务引用工作)。
如果您的WCF服务项目在您的解决方案,你可以右键点击控制台应用程序,并说“添加服务引用”,然后点击“查询”按钮,应该找到它。
是的,配置文件需要更新行为和端点等。
我做到了,但遇到错误 – Thomas
您的服务_running_?参见[如何使用Web服务(http://johnwsaunders3.wordpress.com/2009/05/17/how-to-consume-a-web-service/) –
我不知道如何检查服务运行或不。指导我 – Thomas
所以,那将是“不”。 –