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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用Ubuntu16.04搭建CMS服务器

    使用Ubuntu16.04搭建CMS服务器以此为笔记,方便后面查阅。以下是正文。注:使用root帐号或每条shell命令前加sudo.1. 安装Ubuntu16.04版本。2. 安装后,进入系统,打开终端,开始使用以下shell命令进行搭建。3.apt-getupdate4.apt-getupgrade-y5.添加ppa软件源:     1).apt-getinstall-ypython…

    2022年10月19日
    3
  • MySQL 中NULL和空值的区别?

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!01 小木的故事作为后台开发,在日常工作中如果要接触Mysql数据库,那么不可避免会遇到Mysql中的NULL和空值。那你知道它们有什么区别吗?学不动了,也不想知道它们有什么区别。大兄弟,不行啊,要面试!前些天我的好朋友小木去应聘工作,他面试完回来和我聊天回味了一道他的面试题。面试官:你有用过MyS…

    2022年2月28日
    46
  • linux配置ipv6静态路由,IPv6静态路由配置

    linux配置ipv6静态路由,IPv6静态路由配置IPv6 静态路由命令 R1 config ipv6unicast routing 启用 IPv6 路由 R1 config if ipv6address2 1111 1 64 手工配置 IPv6 地址 R1 config if ipv6address2 1111 1 64eui 64 自动配置 IPv6 地址 R1 config ipv6route200 2323 6

    2025年9月14日
    4
  • 基于Java swing+mysql+eclipse的【图书管理系统】

    基于Java swing+mysql+eclipse的【图书管理系统】一、效果演示:主要功能:①基本数据维护:图书类别管理>>图书类别添加、图书类别维护图书管理>>图书添加、图书维护②关于我们1、登录界面2、主界面:3、图书类别维护4、图书类别添加5、图书维护6、图书添加7、关于我们可全部缩小到左下角二、核心代码:1、Util包【存放数据库连接工具】①DBTool(数据库连接工具类)packagecn.ac.azure.util;importjava.io.IOException

    2022年6月9日
    31
  • LintCode 链表排序[通俗易懂]

    LintCode 链表排序[通俗易懂]题目描述:在O(nlogn)时间复杂度和常数级的空间复杂度下给链表排序。样例给出1->3->2->null,给它排序变成1->2->3->null.思路分析:sort扫一遍~ac代码:/***DefinitionofListNode*classListNode{*public:*intval;*ListNode*next;

    2022年10月9日
    4
  • gzip和gunzip 解压参数「建议收藏」

    gzip和gunzip 解压参数「建议收藏」Linux压缩保留源文件的方法:gzip–cfilename>filename.gzLinux解压缩保留源文件的方法:gunzip–cfilename.gz>filenamegunzip的用法  1.作用gunzip命令作用是解压文件,使用权限是所有用户。2.格式gunzip[-acfhlLnNqrtvV][-s-Linux压缩保留源文件的方法: g…

    2025年8月27日
    8

发表回复

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

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