vs2012创建WCF应用程序

vs2012创建WCF应用程序vs2012创建WCF应用程序

大家好,又见面了,我是你们的朋友全栈君。

   WCF一直停留在理论阶段,只是知道服务端提供一个服务连接,在客户端配置后就可以实现前后台的分离,或是A系统通过WCF提供服务,发布出B系统所需要的接口,在B系统中添加服务节点,即可调用A系统的接口。虽然有个大概的了解,但是对于一些细节还是没有掌握,所以决定实践一下WCF应用程序具体是怎么创建的。

服务端

1.新建项目–选择“WCF服务应用程序”

vs2012创建WCF应用程序

   新建的解决方案中会生成默认的service.svc和Iservice.cs文件,我们可以将它重命名为自己想要的服务和接口,但是比较麻烦,所以决定删了重新建一个。

2.右击WcfService项目,添加“新建项”,建立自定义的“WCF服务”

vs2012创建WCF应用程序

    这时会看到新建的testService.svc文件并与之对应的接口

vs2012创建WCF应用程序

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文件设置为起始页,运行看一下效果:

vs2012创建WCF应用程序
双击DoWork()方法,输入参数后可以看到对应的效果:

vs2012创建WCF应用程序

   端就建好了,我们需要将服务端发布,可以是IIS,也可以直接发布到VS中的NuGet上,记得之前做过一个WCF的项目,每次客户端调用服务端的时候,都需要先启动服务端,这应该是服务端没有发布的原因吧。

客户端

1.新建一个web应用程序

vs2012创建WCF应用程序

2.添加客户端的服务引用

vs2012创建WCF应用程序

点击转到,就可以看到服务端对应的服务接口

vs2012创建WCF应用程序

3.新建一个web界面,完成调用

vs2012创建WCF应用程序

4.效果图

vs2012创建WCF应用程序

   我做的这个现在还没有发布,其实都是一样的,客户端在引用的时候引用发布后的地址就可以了。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105696.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visifire  柱状图控件

    visifire  柱状图控件最近使用到一个柱状图控件visifire用起来还是比较高级的不过会有水印商业用途需要购买正版效果还是很好的还有动画效果能够识别最大高度创建之前需要引用http://note.youdao.com/noteshare?id=4a8d01bd0bfef2cdc86c5752aad3156…

    2022年7月21日
    14
  • jquery.lazyload.js实现图片懒载入[通俗易懂]

    jquery.lazyload.js实现图片懒载入

    2022年2月5日
    38
  • JetBrains PyCharm 2018.3.1 x64 激活码_通用破解码

    JetBrains PyCharm 2018.3.1 x64 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    105
  • java定时器的几种实现方式

    java定时器的几种实现方式1前言在开始正题之前,先闲聊几句。有人说,计算机科学这个学科,软件方向研究到头就是数学,硬件方向研究到头就是物理,最轻松的是中间这批使用者,可以不太懂物理,不太懂数学,依旧可以使用计算机作为自己谋生的工具。这个规律具有普适应,看看“定时器”这个例子,往应用层研究,有Quartz,SpringSchedule等框架;往分布式研究,又有SchedulerX,ElasticJob等分布式任务调度;往底层实现看,又有多种定时器实现方案的原理、工作效率、数据结构可以深究…简单上手使用一个框架,并不能体

    2022年7月8日
    53
  • CentOS7开启端口(永久)

    CentOS7开启端口(永久)redis等服务启动后,外网默认是无法访问的,因为防火墙不允许,所以要开启防火墙,让其可以访问这些端口号。方法一:使用firewall1、运行命令:firewall-cmd–get-active-zones运行完成之后,可以看到zone名称,如下:2、执行如下命令命令:firewall-cmd–zone=public–add-port=6379/tcp–per…

    2022年6月23日
    49
  • 在java中重载和重写的区别_简述java线程生命周期

    在java中重载和重写的区别_简述java线程生命周期重写(Overriding) 重载(Overloading) 类的数量 父子类、接口与实现类 本类 方法名称 一致 一致 参数列表 一定不能修改 必须修…

    2025年9月6日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号