zoukankan      html  css  js  c++  java
  • 菜鸟级别的WCF入门学习

    这两天学习WCF,看了MSDN上的入门教程,和查找了一些网上给的例子,简单的实现了一下,感觉应该很适合我这种菜鸟级的选手看了。

    1、新建一个项目--WCF--WCF服务应用程序

    用的是MSDN上的加减乘除,所以在名称部分写的是Calculator

    删除自带的Service1和IService1两个文件,右键添加--新建项

    由于左侧的选项里没有WCF,所以直接搜索WCF,添加WCF服务,名字为Cal

    删除或注释掉Cal里的

    //public void DoWork()
    //{
    //}

    ICal里的

     // void DoWork();

    因为用不到以上的内容

    在ICal里写入以下代码

    public interface ICal
        {
            [OperationContract]
            double Add(double n1, double n2);
            [OperationContract]
            double Subtract(double n1, double n2);
            [OperationContract]
            double Multiply(double n1, double n2);
            [OperationContract]
            double Divide(double n1, double n2);
        }

    在Cal里写入

     public class Cal : ICal
        {
            public double Add(double n1,double n2)
            {
                double result = n1 + n2;
                return result;
            }
            public double Subtract(double n1,double n2)
            {
                double result = n1 - n2;
                return result;
            }
            public double Multiply(double n1,double n2)
            {
                double result = n1 * n2;
                return result;
            }
            public double Divide(double n1,double n2)
            {
                double result = n1 / n2;
                return result;
            }
        }

    以上两部分内容,像我这种菜鸟都能写出来,相信大家也能看明白。就不写注释了

    按F5运行,会出现以下界面

    双击Add(),进行测试,当然,四个都可以测试

    在n1处输入一个值,n2处输入一个值,点击调用,此处用简单的1+1来演示,出现值2,则证明成功了。

    右键Cal.svc文件,选择在浏览器中查看

    此网页尽量不要关闭,因为本文只在于测试,所以不在IIS上部署。如果在此页面没有打开的情况下,运行后面的客户端出错的话,可以尝试运行此页面

    2、新建一个ASP.net项目,此处命名为WebCalculator

    然后右键引用--添加服务引用

    在地址部分输入上一张图片中划线的地址,然后点击转到,在服务列表里会有Cal的出现,点击确定即可

    新建一个空白WEB窗体WebTest.aspx

    前台代码如下

        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
            <asp:Button ID="BtnAdd" runat="server" Text="加" OnClick="BtnAdd_Click" />
            <asp:Button ID="BtnSub" runat="server" Text="减" OnClick="BtnSub_Click" />
            <asp:Button ID="BtnMul" runat="server" Text="乘" OnClick="BtnMul_Click" />
            <asp:Button ID="Btndiv" runat="server" Text="除" OnClick="Btndiv_Click" />
        </div>

    后台代码如下

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using WebCalculator.ServiceReference1;
    
    namespace WebCalculator
    {
        public partial class WebTest : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void BtnAdd_Click(object sender, EventArgs e)
            {
                CalClient cal = new CalClient();
                double result = cal.Add(double.Parse(TextBox1.Text.ToString()), double.Parse(TextBox2.Text.ToString()));
                Response.Write(result);
            }
    
            protected void BtnSub_Click(object sender, EventArgs e)
            {
                CalClient cal = new CalClient();
                double result = cal.Subtract(double.Parse(TextBox1.Text.ToString()), double.Parse(TextBox2.Text.ToString()));
                Response.Write(result);
            }
    
            protected void BtnMul_Click(object sender, EventArgs e)
            {
                CalClient cal = new CalClient();
                double result = cal.Multiply(double.Parse(TextBox1.Text.ToString()), double.Parse(TextBox2.Text.ToString()));
                Response.Write(result);
            }
    
            protected void Btndiv_Click(object sender, EventArgs e)
            {
                CalClient cal = new CalClient();
                double result = cal.Divide(double.Parse(TextBox1.Text.ToString()), double.Parse(TextBox2.Text.ToString()));
                Response.Write(result);
            }
        }
    }

    按F5,运行

    在textbox中随意输入两个值,进行测试

    注:

    在代码中需要引用

    using WebCalculator.ServiceReference1;
    WebCalculator为项目的名字,
    ServiceReference1为引用的命名空间

    在代码中需要注意的是

    CalClient 这类你会发现根本就不是用户自己写的,而是系统生成的,从命名上来看就能明白Cal是服务的名,Client是客服端,所以我们在写其他的代码的时候,就可以很容易写这个类的名字。

  • 相关阅读:
    Maven+SSM框架搭建【spring+springmvc+mybatis】
    [福大软工] W班 总成绩排行榜
    项目Beta冲刺团队随笔集
    45度炸队Alpha冲刺博客集
    SDN期末验收
    小黄衫——共同的荣誉
    软件工程实践总结作业
    SDN第五次上机作业
    SDN第四次作业
    总结随笔
  • 原文地址:https://www.cnblogs.com/ZXdeveloper/p/3729417.html
Copyright © 2011-2022 走看看