大家好,又见面了,我是你们的朋友全栈君。
WCF一直停留在理论阶段,只是知道服务端提供一个服务连接,在客户端配置后就可以实现前后台的分离,或是A系统通过WCF提供服务,发布出B系统所需要的接口,在B系统中添加服务节点,即可调用A系统的接口。虽然有个大概的了解,但是对于一些细节还是没有掌握,所以决定实践一下WCF应用程序具体是怎么创建的。
服务端
1.新建项目–选择“WCF服务应用程序”
新建的解决方案中会生成默认的service.svc和Iservice.cs文件,我们可以将它重命名为自己想要的服务和接口,但是比较麻烦,所以决定删了重新建一个。
2.右击WcfService项目,添加“新建项”,建立自定义的“WCF服务”
这时会看到新建的testService.svc文件并与之对应的接口
3.在新建的类和接口里写相应的实现方法
ItestService接口中定义一个方法
namespace WcfService
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“ItestService”。
[ServiceContract]
public interface ItestService
{
[OperationContract]
string DoWork(string name);
}
}
testService.svc类中实现接口的方法
namespace WcfService
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“testService”。
// 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 testService.svc 或 testService.svc.cs,然后开始调试。
public class testService : ItestService
{
public string DoWork(string name)
{
return "hello: " + name;
}
}
}
这是一个WCF服务程序就建好了,将testService.svc文件设置为起始页,运行看一下效果:
双击DoWork()方法,输入参数后可以看到对应的效果:
端就建好了,我们需要将服务端发布,可以是IIS,也可以直接发布到VS中的NuGet上,记得之前做过一个WCF的项目,每次客户端调用服务端的时候,都需要先启动服务端,这应该是服务端没有发布的原因吧。
客户端
1.新建一个web应用程序
2.添加客户端的服务引用
点击转到,就可以看到服务端对应的服务接口
3.新建一个web界面,完成调用
4.效果图
我做的这个现在还没有发布,其实都是一样的,客户端在引用的时候引用发布后的地址就可以了。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105696.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...