.net—— webservice的新建、发布、使用(最全、最简单)【原创】
网上有很多关于webservice资料,但大部分都不完整,其中还要很大部分是转载的……。这个悲剧了,自己都没试过能不能用就不负责任的转载。
所以今天对webservice的新建、发布、使用最一个全面、细致的演练,如果有问题的留言,咱们共同讨论。
首先建立webservice
工具:vs2013
1、咱们新建一个web的项目:

选择空的web项目就好

单机确定

一个空的web项目建立完毕
2、在项目名称处右键添加web服务(asmx文件)

单机添加

至此我们就建好一个最简单的webservice(webservice1.asmx)
3、我们打开webcervice1.asmx文件:

咱们看到HelloWorld()方法和我们平时用到的方法上面只是多了一个[WebMethod]标识,这个标识的意思就是告诉运行环境我这个方法是可以被当做Web服务调用的。
4、发布:在项目的右键单击发布:

单击自定义,输入任意的配置名称:

发布方法选择【文件系统】

单击下一步,在目标位置中自己定义发布的路径,然后一路下一步,最后发布完成。
我们打开自己定义的发布路径看到:

在路径中有3个文件.
至此我们的webservice就建立、发布完成了。
这里有一个地方要注意:如果你的计算机上安装的.net Framwor的版本和你在建立项目时候的版本不一致,将会导致iis无法解释你的web服务。所以要在发布之前更改开发环境的.net Framwork的版本:
右键项目名称选择属性:

目标框架选择合适的版本。我这里因为自己的电脑上没有安装.net Framwork 4.5所以我 选择的目标框架是4.0的版本。
二、
发布完的web servive必须得发布到iis服务器中,外部程序才可以访问。
我的计算机系统是win 7 ,必须要安装一下iis。
打开控制面板》》程序和功能,单机【打开或关闭windows功能】

找到[Internet 信息服务]
把所有的树级全部勾选(因为只有安装完全了iis才能正常使用,在iis功能不熟悉的情况下,完全安装时最好的选择)

等一会,等安装完成后,但是操作系统的开始》》搜索程序和文件处 键入iis》》找到iis打开。
打开你的浏览器,键入:http://localhost/iisstart.htm
打开如下图所示。证明iis安装成功

2、回到打开的iis界面,在网站处右键》》新建网站

网站名称随便写,应用程序池选择.net framwork的版本和你发布的版本保持一致(上面咱们发布的版本是4.0的,忘记的童鞋可以上翻),ip键入本机IP,端口号为了不冲突咱们键入8012(默认网站是80),物理路径选择你发布web service 的路径。
新建网站完毕后,将iis切换到内容视图,右键webservice1.asmx文件,浏览器浏览。


报错了,我们看到是因为权限不足导致的访问失败。(iis会对web.config文件进行编辑,如果没有权限,iis无法编辑该文件,怎会浏览失败)。
解决问题:
找到我们发布web service项目的路径 ,对该文件夹右键属性》》安全》》编辑》》添加》》键入EVeryone

单机确定,在新添加的用户everyone选择完全控制,一路确定。
用iis重新访问webservice1.asmx

单机helloworld 返回
<string xmlns="http://tempuri.org/">Hello World</string>————————证明我的web service用iis发布成功了,别的程序可以跨平台调用我们的web service了。
三、
应用程序调用 web service
我们用vs新建一个winfrom程序,在新建项目名称处右键》》添加》》服务引用
单机添加web引用键入我们上面用IIS访问webservice1.asmx文件的url

web 引用名随意写(记住这个名字webReference),单击添加引用。
在我们winfrom 程序中进入from1的构造函数写入下面代码:
WebReference.WebService1 w=new WebReference.WebService1()'
string str=w.HelloWorld();
打断点,运行 看看咱们定义的str变量是HelloWord.至此调用成功。
.net—— webservice的新建、发布、使用(最全、最简单)【原创】的更多相关文章
- Axis2 WebService(配置、发布、调用)
准备工作 1.下载:axis2-1.5.4-bin.zip,axis2-1.5.4-war.zip 下载地址:http://axis.apache.org/axis2/java/core/ 2.环境变 ...
- C# webservice 编写、发布、调用
采用的工具VS2010生成工程 1. 生成webservice工程:建 ASP.NET 空WEB 应用程序. 2. 在建好的ASP.NET 空WEB应用程序中新建项“web 服务”. 完成上述内容工程 ...
- 基于Delphi7 WebService 在Apache发布及Apache使用说明
基于Delphi7 WebService 在Apache 发布及Apache 使用说明 qq:394251165 前段时间,需要将基于Delphi7 WebService 发布在Apache, 很是苦 ...
- C# VS2019 WebService创建与发布,并部署到Windows Server 2012R
前言 上一次数据库灾备和性能优化后,数据库专家建议,在不扩容的情况下,客户端不能再频繁的扫描数据库了!一句惊醒梦中人,因为我也发现数据库越来越卡了,自从上个项目上线后,就出现了这个情况.后来分析其原因 ...
- 转 WebService两种发布协议--SOAP和REST的区别
转发文章 https://blog.csdn.net/zl834205311/article/details/62231545?ABstrategy=codes_snippets_optimize_v ...
- 宏碁发布两款全A平台笔记本:良心价
导读 8月3日消息,在全球数码互动娱乐盛会ChinaJoy上,宏碁推出全新两款全A平台笔记本——暗影骑士4 锐龙版酷冷游戏本和蜂鸟Swift3锐龙版金属轻薄本. 此次发布的宏碁暗影骑士4 锐龙版笔记本 ...
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http: ...
- So easy Webservice 7.CXF 发布WebService
(一)使用ServerFactoryBean 方式实现发布WS服务 1.新建项目,添加cxf jar包到项目中 2.编写服务实现类 /** * CXF WebService * 不用注解 * @aut ...
- 在IIS上发布一个WebService,再发布一个网站调用这个WebService(实例)
首先描述一下先决条件:IIS可用,VS2005可用. 好,现在开始: 首先写一个WebService并把它发布到IIS上: 在IIS上的默认网站下新建一个“虚拟目录”,取名为“webservice1” ...
随机推荐
- 微信开发(2)---微信小程序开发实战part1
微信开发现在来说,简单可以概括为两部分,微信公众号和微信小程序. 微信公众号的技术已经非常成熟.分为服务号和订阅号.简单的.可以弄一个个人订阅号,在编辑模式下就可以实现推送图文.自动回复.自定义菜单的 ...
- 开启新模式WinForm
从今天开始咱们正式进入WinForm开发模式 首先很官方的介绍下什么是winform:客户端应用程序:C/S 这就是winform 有什么特别特别重要的特点呢:可以操作用户电脑上的文件 举个简单的例子 ...
- 事件的preventDefault方法
事件有一个preventDefault()方法,该方法可以用来取消事件的默认行为.许多事件都有默认执行的关联行为.例如,如果用户在文本字段中键入一个字符,则默认行为就是在文本字段中显示该字符.由于可以 ...
- LeetCode 84. Largest Rectangle in Histogram 直方图里的最大长方形
原题 Given n non-negative integers representing the histogram's bar height where the width of each bar ...
- APP品牌具体有哪几个要素?又是如何操作的?
对于品牌的一些认识 首先我们要知道,品牌是由用户与公司及其产品&服务互动后所产生的,失去了与用户互动并且承认的是伪品牌,对于开发者来说,APP的品牌要先从标志与颜色考虑起,但实话实说,标志与颜 ...
- codeforces 528D Fuzzy Search
链接:http://codeforces.com/problemset/problem/528/D 正解:$FFT$. 很多字符串匹配的问题都可以用$FFT$来实现. 这道题是要求在左边和右边$k$个 ...
- 【2017-05-02】winform弹出警告框是否进行增删改操作、记事本制作、对话框控件和输出输入流
一.winform弹出警告框是否进行增删改操作 第一个参数是弹出窗体显示的内容,第二个参数是标题,第三个参数是该弹窗包含确定和取消按钮. 返回的是一个枚举类接收一下. 再进行判断,如果点的是确定按钮, ...
- 谈谈一些有趣的CSS题目(十七)-- 不可思议的颜色混合模式 mix-blend-mode
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- Adline网络的LMS算法与梯度下降
LMS算法,即为最小均方差,求的是误差的平方和最小. 利用梯度下降,所谓的梯度下降,本质上就是利用导数的性质来求极值点的位置,导数在这个的附近,一边是大于零,一边又是小于零的,如此而已... 而这个里 ...
- 网络编程:I/O复用
I/O多路复用是在多线程或多进程编程中常用技术.主要是通过select/epoll/poll三个函数支持的.在此主要对select和epoll函数详细介绍. select函数 该函数运行进程指示内核等 ...