菜鸟级别的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是客服端,所以我们在写其他的代码的时候,就可以很容易写这个类的名字。
菜鸟级别的WCF入门学习的更多相关文章
- WCF入门学习2-控制台做为宿主
Step1.创建一个WCF类库和一个控制台程序. Step2.引用WCF项目. Step3.添加这两个引用. //本段代码出处 无废话WCF入门教程系列 Uri baseAddress = new U ...
- 年前辞职-WCF入门学习(4)
前言 上一篇的学习中碰到一个问题,用地址http://localhost:8080/mex 访问元数据的时候一直提示400 bad request 错误,因为时间太晚了,查了好几遍代码,也没有发现问题 ...
- 年前辞职-WCF入门学习(5)
前言 第五集比较简单,视频也只有7分多钟,但是用处还是挺大的.下面我会介绍. 本来想第六集一起介绍的,后来发现第六集内容比较多,有半个多小时,就不一起了.网站规定6小时内只能发布一篇文章到首页,,那我 ...
- 年前辞职-WCF入门学习(3)
前言 [2了,刚写好的,手贱,点了删除,还真TMD的删除了,只好重写] 今天周六,去同事家聚了一个餐,感觉各种豪华. 废话不多说,前两集大致介绍了一下什么是WCF以及和WCF相关的WebService ...
- 年前辞职-WCF入门学习(1,2)
前言 周一的时候辞职了,离开了从12年毕业后8月份开始一直到现在的公司. 辞职之后当然是玩.玩了若干天的游戏,真的是没日没夜啊,但是玩的太坑,怒删游戏.话说上次玩还是在14年7月份.下次还是过年回家再 ...
- WCF入门学习3-配置文件与部署iis
配置文件设置 --------------------------------------------------- 创建的时候都会有个配置文件,其实有一个WCF配置编辑器,右键就可以点出来设置. 需 ...
- WCF入门学习1-最简单的一次通信
跟着msdn的教程试了一下wcf,真心好用 1.先创建一个wcf服务库,是服务类库,远程的lib 2.全部按照默认设置,不修改.然后点发布,会出现一个wcf测试客户端,可以看有没有发布成功. 3.ms ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- 学习WCF入门的第一个实例
一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...
随机推荐
- 数据库软件dbForge Studio for MySQL更新至v.6.1
本文转自:慧都控件网 说到MariaDB,这个数据库算是MySQL的一个分支.现在非常的流行,很多地方都能看到它的身影.MariaDB作为一种新的数据库管理系统,在短时间内获得如此高的关注度.这也是D ...
- angular下拉
<div class="form-group col-sm-4"> <label class="col-sm-5 control-label" ...
- <<你最喜欢做什么--兴趣问题清单>>总结
二.测试作业 你最喜欢做什么--兴趣问题清单 •根据迄今为止已有的经历,你真正喜欢从事的工作是什么? 目前还没有接触工作,就工作而言,凭自己所学的本领和技术去工作,我认为我会喜欢我所做的工作 •休 ...
- UIWebView和Js交互
在日常的ios项目开发中,我们经常会在原生应用中嵌入web页面,通常我们只是进行一个展示,没有其它的一些功能.但是也有一些项目中需要web页面中的html和native进行交互.但是ios sdk 并 ...
- samba server install
要求: create vnc service for win7 access it via vnc viewer. 1TB disk for this Centos PC is used as Sam ...
- 纯练手设置ip地址脚本
#!/bin/bash IFO() { read -p "Configure $line Network card ( 'yes'or'no' )?" CDN </dev/t ...
- printf(""); 输出小题目
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> int main(){ int i=43; printf("%d\n&q ...
- MySQL 升级详细步骤 (包括 Percona)
MySQL 升级步骤 MySQL 5.1.72 升级到 MySQL 5.5.36 鉴于我在升级的时候遇到的麻烦问题,我觉得有必要把一些细节说清楚,免得引起误解了.感觉官方文档上的升级步骤写的比较简单, ...
- Sql Server tempdb原理-缓存机制解析实践
Tempdb就像Sqlserver的临时仓库,各式各样的对象,数据在里面进行频繁计算,操作.大量的操作使得tempdb可能面临很大压力,tempdb中缓存的设计就是为了缓解这些压力.这次就为大家介绍下 ...
- MySQL2:四种MySQL存储引擎
前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以 ...