.NET使用VS2010开发Web Service

Web Service是一个面向服务的架构(SOA),不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。基于.NET平台,可以使用Visual Studio来开发Web Service。不同于Java平台,需要使用开源组件(Axis2、CXF等),微软直接在Visual Stuido里集成了开发Web Service的功能,使用起来非常方便。


下面基于.NET Framework 3.5,使用Visual Studio 2010来开发Web Service,包括创建、发布、部署、调用等步骤。


1. 创建Web Service

打开VS2010,点击菜单栏“文件”按钮,选择“新建”--“项目”,如下图所示:


在弹出的新建窗体中,在左侧“已安装模板”列表选择“Viusal C#”-“Web”,选择“.NET Framework 3.5”框架,在应用程序模板中选择“ASP.NET Web 服务应用程序”,在下面名称输入框中输入项目名“DotNetWebServiceDemo”。

(需要注意的是,由于微软在.NET 3.5之后推行WCF作为支持数据通信的应用程序框架,所以在.NET4.0及以后版本的应用程序模板中找不到“ASP.NET Web 服务应用程序”)



新建成功之后,出现如下界面,系统自动新建了一个名为“Service1”的服务,其中有一个“HelloWorld”方法。



继续添加两个方法,“sayHelloToPerson”和“plusXandY”,提供的服务如下图所示:



至此,Web Service创建完成。


2. 发布Web Service

在右侧解决方案列表,右键项目解决方案,在弹出的菜单中选择“发布”。



在弹出的传统中,发布方法选择“文件系统”,目标位置选择桌面,并加上项目名称。

点击“发布”按钮,发现桌面上生成了一个文件夹,里面内容如下图所示,说明Web Service发布成功了。



3. 部署Web Service

打开IIS,在左侧列表中,右键点击“网站”,在弹出的菜单中选择“添加网站”。在添加网站窗体中,输入网站名称,物理路径选择上一步发布成功的目录,输入端口,点击“确定”按钮。



部署成功之后,发现左侧网站列表多了刚才新部署的网站。



打开浏览器,在地址栏中输入http://localhost:8889/Service1.asmx,敲击回车发现由于权限不足无法读取配置文件。



找到网站物理路径所在文件夹,右键文件夹,选择“属性”;在弹出的属性窗体中选择“安全”。



点击“编辑”按钮,添加“Authenticated Users”,设置权限为完全控制,点击确定按钮。


重启网站之后,再次访问地址,出现如下界面,说明Web Service部署成功了。


点击“服务说明”,可以查看Web Service的WSDL描述文件。



4. 调用Web Service

在VS2010中新建了一个WinForm窗体程序,如下图所示:



在右侧解决方案列表中,右键点击解决方案,在弹出的菜单中选择“添加服务引用”。


在弹出的窗体中,在地址中输入“http://localhost:8889/Service1.asmx”,点击“前往”按钮,发行在服务列表中多了“Service1”服务,在命名空间中输入“DoNetWebServiceDemo”,点击“确定”按钮。


添加完成之后,发行在项目解决方案文件列表中,“Service References”多了刚才我们引用的Web Service。


在添加Web Service应用之后,我们需要找到调用Web Service需要使用的类。在“Service References”下,右键点击引用的Web Service,在弹出的菜单中选择“在对象浏览器中查看”,即可查看到添加的Web Service的命名空间了。通常情况下,我们用来调用Web Service的类以Web Service的名字开头,以“Client”作为结尾,在这里就是Service1SoapClient。



在窗体的.cs文件里,首先引用导入的命名空间,然后命名空间下的“Service1SoapClient”类就可像调用本地方法一样调用远程Web Service了。



完成编码之后,运行Windows窗体程序,效果如下:







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 开发Web Service的几种方式

webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录。 1.Axis2 Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axiseclipse开发webservi…

动手造轮子:实现简单的 EventQueue

动手造轮子:实现简单的 EventQueueIntro最近项目里有遇到一些并发的问题,想实现一个队列来将并发的请求一个一个串行处理,可以理解为使用消息队列处理并发问题,之前实现过一个简单的 EventBus,于是想在 EventBus 的基础…

【.NET Core 跨平台 GUI 开发】第二篇:Gtk# 布局入门,初识HBox 和 VBox

这是 Gtk# 系列博文的第二篇。在上一篇博文《编写你的第一个 Gtk# 应用》中,我们提到“一个 Gtk.Window 只能直接包含一个部件”。这意味着,在不做其他额外操作的情况下,如果你向一个 GtkWindow 中添加了一个 GtkLabel (就像上一篇…

Java开发Web Service的几种解决方案

转自:http://blog.csdn.net/zolalad/article/details/25158995 Java开发中经常使用到的几种WebService技术实现方案 随着异构系统互联需求的不断增加,WebService的重要性也日益彰显出来。凭借webservice,我们可以实现基于不同程序语言的项目的…

【.NET Core 跨平台 GUI 开发】第一篇:编写你的第一个 Gtk# 应用

本文是【.NET Core 跨平台 GUI 开发】系列博文的第一篇。该系列博文是一个关于 Gtk# 跨平台应用开发的初级随笔集合。该随笔集合介绍了 GTK 和 Gtk# 的基本信息以及开发方法,并展示了如何使用 .NET Core 技术栈开发基于 Gtk# 的跨平台 GUI 程序。博文假设你已经对 C…

ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务22:课程介绍1.HTTP 处理过程2.WebHost 的配置与启动3.Middleware 与管道4.Routing MiddleWare 介绍任务23:Http请求…

Java使用JWS API开发Web Service

JAX-WS,即Java API for XML Web Service,是Java开发基于SOAP协议的Web Service的标准。使用JWS API就可以直接开发简单的Web Service应用。 一、创建Web Service 打开Eclipse,新建一个Java Project,如下图所示: 新建了…

ASP.NET Core快速入门(第3章:依赖注入)--学习笔记

点击蓝字关注我们课程链接:http://video.jessetalk.cn/course/explore良心课程,大家一起来学习哈!任务16:介绍1、依赖注入概念详解从UML和软件建模来理解从单元测试来理解2、ASP.NET Core 源码解析任务17:从UML角度来理…

使用wsimport命令创建Web Service客户端

一、wsimport简介 在jdk的bin文件夹中,有一个wsimport.exe工具。这个工具可以依据Web Service的描述文件wsdl生成相应的类文件,然后用这些类文件,被Web Service的客户端导入之后,就可以像调用本地的类一样调用WebService提供的方法…

读《持续交付2.0》

几年前看过《持续交付(发布可靠软件的系统方法)》,感触不是很深,最近看了这本书的译者乔梁编写的《持续交付2.0》,结合工作中的种种,又有一种相见恨晚的感觉。可见好书是需要经常翻阅的,每次都会带来新的收获和思考。全…

Java使用Apache CXF开发Web Service

转自:http://blog.csdn.net/hu_shengyang/article/details/38384597 以前工作中也用CXF,但都是用别人现成搭好的环境,这次自己重头搭建一遍环境。过程中也有遇到的问题,也做了简单的整理。 对于CXF是干什么用的,我不想多说&#x…

程序员修神之路--kubernetes是微服务发展的必然产物

菜菜哥,我昨天又请假出去面试了战况如何呀?多数面试题回答的还行,但是最后让我介绍微服务和kubernetes的时候,挂了话说微服务和kubernetes内容确实挺多的那你给我大体介绍一下呗可以呀,不过要请和coffee哦◆◆kubernet…

.NET core3.0 使用Jwt保护api

摘要:本文演示如何向有效用户提供jwt,以及如何在webapi中使用该token通过JwtBearerMiddleware中间件对用户进行身份认证。认证和授权区别?首先我们要弄清楚认证(Authentication)和授权(Authorization&#…

Java ArrayList的实现原理详解

ArrayList是Java List类型的集合类中最常使用的,本文基于Java1.8,对于ArrayList的实现原理做一下详细讲解。 (Java1.8源码:http://docs.oracle.com/javase/8/docs/api/) 一、ArrayList实现原理总结 ArrayList的实现原…

.NET开发者的机遇与Web Blazor基础(有彩蛋)

一.唠唠WebAssembly的发展历程目前有很多支持WebAssembly的项目,但发展最快的是Blazor,这是一个构建单页面的.NET技术,目前已经从Preview版本升级到了beta版本,微软计划在2020年5月发布Blazor的第一个版本。Blazor是什么&#xff…

Java LinkedList的实现原理详解

LinkedList是Java List类型的集合类的一种实现,此外,LinkedList还实现了Deque接口。本文基于Java1.8,对于LinkedList的实现原理做一下详细讲解。 (Java1.8源码:http://docs.oracle.com/javase/8/docs/api/&#xff09…

知乎高赞:中国有哪些不错的开源软件产品?

点击蓝字“dotNET匠人”关注我哟加个“星标★”,每日 7:15,好文必达!在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?”事实上,还不少呢~…

容器日志管理 (2) 开源日志管理方案 ELK/EFK

本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。上一篇《容器日志管理(1)》中介绍了Docker自带的logs子命令以及其Logging driver,本篇将会介绍一个流行的开源日志管理方案ELK/EFK…

关于Scrum起源,读这一篇论文就足够啦!《新新产品开发游戏》

关于Scrum的起源,我们经常会提到1986年发表在HBR上的一篇论文,《The New New Product Development Game》,今天我们把它重新翻译,一起重温为何Scrum会如此设置3355?为何会用橄榄球的术语来代表Scrum?The Ne…

Java HashMap的实现原理详解

HashMap是Java Map类型的集合类中最常使用的,本文基于Java1.8,对于HashMap的实现原理做一下详细讲解。 (Java1.8源码:http://docs.oracle.com/javase/8/docs/api/) 一、HashMap实现原理总结 HashMap的实现原理总结如下…