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


相关推荐

  • leetcode 回文数_将一个整数转换为字符串

    leetcode 回文数_将一个整数转换为字符串原题链接请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“1

    2022年8月9日
    7
  • Python之queue模块

    queue模块实现了多生产者,多消费者的队列。当要求信息必须在多线程间安全交换,这个模块在同步线程编程时非常有用,Queue模块实现了所有要求的锁机制。内部实现是在抢占式线程加上临时锁,但是没有涉

    2021年12月30日
    45
  • google搜索引擎怎么用_如何使用谷歌搜索

    google搜索引擎怎么用_如何使用谷歌搜索2021年2月23日,在使用python的matplotlib模块画图的过程中,marker的点过于密集了,在国内的搜索引擎(你懂的)搜索了好长时间,也不知道是我的搜索关键字设置的不对,还是它就是这么垃圾,一直搜索不出来我需要的答案。无奈之下,只好试试google。在google里面使用中文搜索也是搜索不到答案,我使用英文关键字搜索,第一条搜索出来的便是StackOverflow的答案,立马解决了我的问题。这令我感触颇深,google搜索引擎确实是程序员的利器。所以一定必须用好google搜索。

    2025年10月24日
    4
  • 2018最潮最火背景图_qq主题背景怎么设置自定义

    2018最潮最火背景图_qq主题背景怎么设置自定义登录CSDN后,点击“我的博客”,如右图所示,

    2022年10月11日
    3
  • JavaSwing_1.2: GridLayout(网格布局)

    JavaSwing_1.2: GridLayout(网格布局)GridLayout,网格布局管理器。它以矩形网格形式对容器的组件进行布置,把容器按行列分成大小相等的矩形网格,一个网格中放置一个组件,组件宽高自动撑满网格。以行数和总数优先:通过构造方法或setRows和setColumns方法将行数和列数都设置为非零值时,指定的列数将被忽略。列数通过指定的行数和布局中的组件总数来确定。因此,例如,如果指定了三行和两列,在布局中添加了九个组件,则它们将显示为三行三列。

    2022年6月12日
    32
  • vue动态引入js文件的方法_vue如何引入js文件

    vue动态引入js文件的方法_vue如何引入js文件Vue动态引入JS文件

    2022年10月8日
    5

发表回复

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

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