ASP.NET WEB SERVICE 创建、部署与使用
PS: 开发工具 VS2010, 所有工程都为Debug状态,本人刚接触 Web Service,此文为菜鸟入门用例,高手勿笑!
转载请注明出处 :http://www.cnblogs.com/yycxbjl/archive/2010/04/20/1716689.html
一、创建Web Service 工程
1. 新建一个 Web Service 工程,工程名为WebServiceProject
File -> New -> Project --> Visual C# -> Web -> ASP.NET Web Service Application
注意: .NET Framework版本选3.5, 4.0 中没有该类型的工程

2. 在WebServiceProject中,删除 Servie1 类中原有的HelloWorld方法,添加一个方法 ReverseString
[WebMethod]
publicstring ReverseString(string s)
{
System.Threading.Thread.Sleep();
char[] a = s.ToCharArray();
Array.Reverse(a);
returnnewstring(a);
}
必须加上在方法前加上 [WebMethod] 属性
方法中首行的 Sleep(5000) 为了展示下文中同步调用与异步调用 Web Service中方法的区别
将 [WebService(Namespace = "http://tempuri.org/")]
改为 [WebService(Namespace = "http://WebServiceSample/")] 名字随便取
可以不改,若不改,下一步通过浏览器查看时会有提示(可以自己看一下)

3. 编译并测试WebServiceProject
按 F7编译工程,通过浏览器查看Servic1.asmx

由于工程中只有一个方法,页面显示如下:

点击ReverseString,可以进入该方法的测试页面,进行测试
二、部署Web Service
1. 发布工程到本地的某一个目录(D:\WebServiceSample)


2. 发布完后,在IIS中添加一个指向该目录的虚拟目录(或应用程序)
3. 通过 浏览器 查看,测试发布是否成功
http://localhost/webservicesample/service1.asmx
页面显示应与上一节中相同
三、使用Web Service
1. 使用WSDL 工具生成 Web Service 中 Servie1类的代理类
打开 VS2010 命名行工具

输入如下命名,在D:\生成一个myProxyClass.cs文件,里面有一个代理类
public partial class Service1 : System.Web.Services.Protocols.SoapHttpClientProtocol
关于如何生成代理类的详见
http://msdn.microsoft.com/zh-cn/library/7h3ystb6.aspx

2. 新建一个Windows Form Application,来使用Web Service,工程名为 WebServiceClient
在工程中添加步骤1中生成的myProxyClass.cs文件
添加 System.Web.Services引用:Project -> Add Reference

3. 在Form1上,拖入几个控件

4. 为按钮添加事件响应函数
//同步
privatevoid button1_Click(object sender, EventArgs e)
{
Service1 ws =new Service1();
textBox2.Text = ws.ReverseString(textBox1.Text);
} //异步
privatevoid button2_Click(object sender, EventArgs e)
{
Service1 ws =new Service1();
ws.ReverseStringCompleted +=new ReverseStringCompletedEventHandler(ReverseStringCompleted);
ws.ReverseStringAsync(textBox1.Text);
} privatevoid ReverseStringCompleted(object sender, ReverseStringCompletedEventArgs e)
{
textBox2.Text = e.Result;
}
5. 测试程序的效果
用同步响应时,在Web Service中的方法结束前,程序无法响应
用异步响应时,在Web Service中的方法结束前,程序可以响应
ASP.NET WEB SERVICE 创建、部署与使用的更多相关文章
- 【转载】在 Visual Studio 2012 中创建 ASP.Net Web Service
在 Visual Studio 2012 中创建 ASP.Net Web Service,步骤非常简单.如下: 第一步:创建一个“ASP.Net Empty Web Application”项目 创建 ...
- Visual Studio 2010中创建ASP.Net Web Service
转自:http://blog.csdn.net/xinyaping/article/details/7331375 很多人在论坛里说,在Visual Studio 2010中不能创建“ASP.Net ...
- 在 Visual Studio 2010 中创建 ASP.Net Web Service
第一步:创建一个“ASP.Net Empty Web Application”项目 第二步:在项目中添加“Web Service”新项目 第一步之后,Visual Studio 2010会创建一个仅含 ...
- (转)在 Visual Studio 2010 中创建 ASP.Net Web Service
很多人在论坛里说,在Visual Studio 2010中不能创建“ASP.Net Web Service”这种project了,下面跟帖者云云,有的说这是因为微软已经将Web Service整合进W ...
- sharepoint 2010 创建自定义的ASP.NET Web Service (上)
项目背景 根据客户需求在SharePoint 2010 中创建自定义的ASP.NET Web Service可以分为3种方式(我所知道的).废话少说,下面一一列举: 创建方式 MSDN 官方博客自己的 ...
- ASP.NET Web Service如何工作(3)
ASP.NET Web Service如何工作(3) [日期:2003-06-26] 来源:CSDN 作者:sunnyzhao(翻译) [字体:大 中 小] 为了使.asmx句柄有可能反串行化SOA ...
- ASP.NET Web Service如何工作(1)
ASP.NET Web Service如何工作(1) [日期:2003-06-26] 来源:CSDN 作者:sunnyzhao(翻译) [字体:大 中 小] Summary ASP.NET Web ...
- ServiceStack Web Service 创建与调用简单示列
目录 ServiceStack 概念 ServiceStack Web Service 创建与调用简单示列 上篇文章介绍了ServiceStack是什么,本章进入主题,如何快速简单的搭建Service ...
- ASP.NET Web Service如何工作(2)
ASP.NET Web Service如何工作(2) [日期:2003-06-26] 来源:CSDN 作者:sunnyzhao(翻译) [字体:大 中 小] HTTP管道一旦调用了.asmx句柄,便 ...
随机推荐
- httpclient cookie相关介绍
http状态管理 cookie是HTTP代理和目标服务器可以交流保持回话的状态信息的令牌或短包. httpclient使用Cookie接口来代表抽象的cookie令牌,在它的简单形式中http的coo ...
- Flask初级(十)flash与前台交互post详解
Project name :Flask_Plan templates:templates static:static POST提交方式,首先要有表单 老实去改模板文件吧. 查询窗口我准备放在页面最顶上 ...
- Java——IO类,转换流简化写法
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- css rem计算
先抛出一个问题:为什么要选择rem? px:像素是相对于显示器屏幕分辨率而言的相对长度单位.pc端使用px倒也无所谓,可是在移动端,因为手机分辨率种类颇多,不可能一个个去适配,这时px就显得非常无力, ...
- 2019.1.3 WLAN 802.11 a/b/g PHY Specification and EDVT Measurement II - Transmit Spectrum Mask & Current Consumption
Transmit Spectrum Mask Specification – 802.11b SpecificationFor 802.11b 18.4.7.3The transmitted spec ...
- Java中生产者与消费者模式
生产者消费者模式 首先来了解什么是生产者消费者模式.该模式也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例.该问题描述了两个共享固定大小缓冲区的线 ...
- pycharm 提示性信息
语法错误:文字底部红色波浪线 解决方案:语法修改正确 语法不符合规范:文字底部灰色波浪线 解决方案:快捷键(Alt + Enter + Enter ) 单词拼写提示:文字底部绿色波浪线 解决方案: 单 ...
- qt5 交叉编译
qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 添加 QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/us ...
- Unity 3D游戏-消消乐(三消类)教程和源码
Unity 消消乐教程和源码 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Start Game -- ...
- [转载]redis持久化的两种操作RDB和AOF
Redis 持久化: 提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF. RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AO ...