zoukankan      html  css  js  c++  java
  • 我的第一个WCF程序,很简单适合我等菜鸟

    1.首先我罗列一下网站搜索并经过自己理解的WCF的含义:

       1)WCF:(WIndows Communication Foundation)是由微软是由微软发展的一组数据通信的应用开发接口,可以翻译为Windows通讯接口,
                 最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息,专门用于面向服务开发(SOA)

       2)WCF整合了.NET远程技术(Remoting)、Web Service和微软消息队列服务等技术,它可以跨进程、跨机器、跨平台、跨子网、企业网乃至于 Internet

    2.下面我新建一个WCF服务:

    在visual studio 2012中新建项目,做如下图操作

    删除系统生成的两个文件IService1.cs与Service1.svc,并且“添加新项”-->"WCF服务",命名User.svc,结果如下图

    打开IUser.cs文件,代码如下

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;   //必须
    using System.Text;
    
    namespace First_Wcf
    {
        // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IUser”。
        [ServiceContract] //来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用
        public interface IUser
        {
            [OperationContract] //来说明该方法是一个WCF接口的方法,不加的话将不能被外部调用
            string ShowName(string name);
        }
    }

    打开User.svc,代码如下

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;  //必须
    using System.Text;
    
    namespace First_Wcf
    {
        // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“User”。
        // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 User.svc 或 User.svc.cs,然后开始调试。
        
        public class User : IUser
        {
            public string ShowName(string name)
            {
                string wcfName = string.Format("这是WCF服务,你输入的姓名是:{0}",name);
                return wcfName;
            }
        }
    }

    程序写好了,下面测试看对不对。F5启动项目后出现下图弹出框

    双击“ShowName()”,得到下图

    在上图右侧把“(null)”修改为张三得到下图

    到这一步说明WCF服务程序没有错误。

    3.新建windows窗体应用程序,用来调用服务

    窗体程序Test_First_Wcf如图并且设置为启动项目

    右键“引用”,添加“服务引用”,出现下图弹出框

    如果之前的WCF服务已经部署到IIS上的话,可以在地址栏中输入地址就可引用,现在我没有部署,所以点击“发现”得到下图

    点击确定即可


    在窗体文件Form1中拖来如下控件,Label2用来显示结果,所以把Label2的Text设为空

    后台程序如下

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Test_First_Wcf
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                ServiceReference1.UserClient uc = new ServiceReference1.UserClient();//实例化服务
    
                string name = this.textBox1.Text;
    
                this.label2.Text = uc.ShowName(name);
            }
        }
    }

    F5运行程序如下

    很简单的程序,WCF踏出了第一步,我将继续努力!!

  • 相关阅读:
    O021、创建 Image
    O020、理解 Glance
    O019、通过例子学习 Keystone
    O018、理解 Keystone 核心概念
    O017、部署DevStack
    O016、搭建实验环境
    O015、OpenStack 架构
    O014、云计算与OpenStack
    O013、动手实践Linux VLAN
    O012、Linux如何实现VLAN
  • 原文地址:https://www.cnblogs.com/qk2014/p/4392354.html
Copyright © 2011-2022 走看看