1. 添加一个HelloService.svc文件,添加ServiceHost标记,在Service中添加WCF服务实现的名称,比如:
<%@ ServiceHost Language="C#" Debug="false" Service="CNBlogs.Service.Impl.HelloService"%>
2. 在web.config/system.serviceModel/bindings/basicHttpBinding中添加一个binding。
3. 在web.config/system.serviceModel/behaviors/serviceBehaviors中添加一个behavior。
4. 在web.config/system.serviceModel/services中添加一个service,并且:
a) 设置behaviorConfiguration属性液扮。
b) 设置name属性。
5. 在service下添加一个endpoint,并且:
a) 设置binding属性。
b) 设置name属性。
c) 设置contract属性。
在.NET 4中,我们只要这样做:
在web.config/system.serviceModel/serviceHostingEnvironment/serviceActivations中增加下面两个属性即可:
<add relativeAddress="HelloService.svc" service="CNBlogs.Service.Impl.HelloService"/>
这闹薯灶样配置后,就可以正常调用WCF服务。
如果需要通过SvcUtil.exe生成客户端代理,只需手昌在serviceBehaviors中添加:
<behavior>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
C++调用WCF写的ServiceContract
一共有几种方式?
C++调用WCF
写的ServiceContract
一共有几种方式?我下面的调用方式虽然能访问虚烂但是不理想。
在创建C++工程时候选择
公共语言运行库支持(/clr)
可以添加WEB引用。
并且成功创建代理类。
也可以调用WCF提供的OperationContract具体方法。
但是有一个问题,由于以上 *** 作选择了
公共语言运行库支持(/clr)
,这样会不会要求C++客户端程序强竖亏制安装.net
freamwork的托管运行环境。从而增加客户端的安装复杂性。
如果要求安装.net
freamwork的托管运行环境,那么有什么好的方法可以不选择
公共语言运行库支持(/clr)
。或者不安装.net
freamwork的托管运行环境,也可以使用WCF提供的
ServiceContract。
也就是C++调用WCF
写的ServiceContract
一共有几种方式?
小弟刚研究WCF不长时间,但是有WEBSERVICE基础(WEBSERVICE的安全也不会做),差纤漏多谢各位前辈。
-----------------
大家有以下几种吧,
1.直接调用,把WCF服务暴露为Web服务,如果C++可以直接调用Web服务,那么也可以直接调WCF服务。
2.把WCF服务暴露为Rest
服务,C++如果可以调用普通的网页,通过Http标准 *** 作,Get,Put,post等那么它也可以直接调用Rest
WCF服务。
3.另外就是把调用WCF服务的客户端包装成程序集,然后C++代码调用程序集里的C#代码。
前两种方式应该 *** 作性更强吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)