.net—— webservice的新建、发布、使用(最全、最简单)【原创】

摘要:
选择一个空web项目,以便单个计算机可以确认已创建空web项目。2.右键单击项目名称以添加web服务(asmx文件)。单击单机上的Add以创建最简单的web服务(webservice1。asmx)。3.打开Web服务1。asmx文件。此标志告诉运行环境此方法可以作为web服务调用。

网上有很多关于webservice资料,但大部分都不完整,其中还有很大部分是转载的……,这个悲剧了,自己都没试过能不能用就不负责任的转载。

所以今天对webservice的新建、发布、使用一个全面、细致的演练,如果有问题的留言,咱们共同讨论。

一、

首先建立webservice 

工具:vs2013

1、咱们新建一个web的项目:

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第1张

选择空的web项目就好

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第2张

单机确定

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第3张

一个空的web项目建立完毕

2、在项目名称处右键添加web服务(asmx文件)

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第4张

单机【添加】按钮

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第5张

至此我们就建好一个最简单的webservice(webservice1.asmx)

3、我们打开webcervice1.asmx文件:

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第6张

咱们看到HelloWorld()方法和我们平时用到的方法相比:方法名的上面只是多了一个【WebMethod】标识,这个标识的意思就是告诉运行环境我这个方法是可以被当做Web服务调用的。

4、发布:在项目的右键单击发布:

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第7张

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

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第8张

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

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第9张

单击下一步,在目标位置中自己定义发布的路径,然后一路下一步,最后发布完成。

我们打开自己定义的发布路径看到在路径中有3个文件.

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第10张

至此我们的webservice就建立、发布完成了。

这里有一个地方要注意:如果你的计算机上安装的.net Framwor的版本和你在建立项目时候的版本不一致,将会导致iis无法解释你的web服务。所以要在发布之前更改开发环境的.net Framwork的版本:

右键项目名称选择属性,目标框架选择合适的版本:我这里因为自己的电脑上没有安装.net Framework 4.5所以我 选择的目标框架是.net Framework 4.0的版本。:

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第11张

二、

发布完的web servive必须要发布到iis服务器中,外部程序才可以访问、调用。

1、我的计算机系统是win 7 ,必须要安装一下iis。

打开控制面板》》程序和功能,单机【打开或关闭windows功能】选项。

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第12张

在弹出框中找到【Internet 信息服务】,把【Internet 信息服务】下边的子节点全部打开,全部勾选。(因为只有安装完全了iis才能正常使用,在iis功能不熟悉的情况下,完全安装最好的选择。)

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第13张

等一会,等安装完成后,单机操作系统的【开始】》》【搜索程序和文件】键入iis》》找到iis,双击打开。

打开你的浏览器,键入http://localhost/iisstart.htm【回车】

打开如下图所示。证明iis安装成功

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第14张

PS:

这里会遇到一个问题:如果你是先安装的.net FrameWork,然后安装的iis,需要注册一下。

打开cmd.exe,键入:C:WindowsMicrosoft.NETFrameworkV4.0.30319aspnet_regiis -i  

注:C:WindowsMicrosoft.NETFrameworkV4.0.30319   是 netframework安装对应的路径;

重启IIS就可以了。

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

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第15张

1)网站名称随便写,2)应用程序池选择.net framework的版本和你发布的版本保持一致(上面咱们发布的版本是4.0的,忘记的童鞋可以上翻),3)ip键入本机IP,4)端口号为了不冲突咱们键入8012(默认网站是80),5)物理路径选择你发布web service 的路径。

新建网站完毕后,将iis切换到内容视图,右键webservice1.asmx文件,浏览器浏览。

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第16张

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第17张

报错了,我们看到是因为权限不足导致的访问失败。(iis会对web.config文件进行编辑,如果没有权限,iis无法编辑该文件,就会浏览失败)。

解决问题:

找到我们发布web service项目的路径 ,对该文件夹右键属性》》安全》》编辑》》添加》》键入EVeryone

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第18张

单机确定,在新添加的用户everyone选择完全控制,一路确定。

用iis重新访问webservice1.asmx

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第19张

单机helloworld  返回

<string xmlns="http://tempuri.org/">Hello World</string>————————证明我的web service用iis发布成功了,别的程序可以跨平台调用我们的web service了。

PS:

如果还是访问不成功的话,可以尝试修改web.config文件,在web.config文件中加入

<system.web>

<webServices>
<protocols>
<add name="HttpGet" />
<add name="HttpPost" />
</protocols>
</webServices>

</system.web>

三、

应用程序调用 webservice 

我们用vs新建一个winfrom程序,在新建项目名称处右键》》添加》》服务引用

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第20张单机添加web引用键入我们上面用IIS访问webservice1.asmx文件的url

.net—— webservice的新建、发布、使用(最全、最简单)【原创】第21张

【web 引用名】随意写(记住这个名字webReference),单击添加引用。

在我们winfrom 程序中进入from1的构造函数写入下面代码:

WebReference.WebService1 w=new WebReference.WebService1()'
string str=w.HelloWorld();

打断点,运行 看看咱们定义的str变量是'HelloWord’.至此调用webservice成功。

免责声明:文章转载自《.net—— webservice的新建、发布、使用(最全、最简单)【原创】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ethernet帧的分析(转)C++标准库---queue下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

IIS服务器部署多个HTTPS方法

IIS服务器部署多个HTTPS方法 由于IIS6不支持多个网站绑定HTTPS,我发现如果已经有一个网站绑定了证书,如果给第二个页面绑定证书的话就会挤掉第一个的证书。在网上搜索发现了很多各种各样的解决方法,复杂又不好用。 后来发现可以直接修改IIS的配置文件,并不需要在IIS管理器里进行修改。 步骤 找到IIS的配置文件,在 C:Windowssyste...

Windows2003服务器IIS优化:启用Gzip 压缩

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 启用Gzip压缩是在Web服务器和浏览器间传输压缩文本内容的方法。Gzip压缩采用通用的压缩算法压缩HTML、JavaScript、CSS等静态文件和asp、aspx、php、js...

xshell 安全加密

一、什么是 xshell: xshell 是一个远程执行命令的客户端程序,对应openssh-sever服务器程序(默认端口22) 套接字------------------网络----------------套接字 xshell                                                openssh-sever 为何...

IIS连接oralce数据库时 提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”

最近由WindowsXP换到了Windows2003系统(Windows 7),Oracle也由原来的8i换到了9i。给客户发布了一个web系统,部署在本机IIS上测试的时候出现了“取不到缓存数据”的自定义异常,经过跟踪找到原因,在连接数据库时,出现“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本...

Windows2003 IIS6.0支持32位和64位两种模式的设置方法

IIS 6.0 可支持 32 位和 64 位两种模式。但是,IIS 6.0 不支持在 64 位版本的 Windows 上同时运行这两种模式。ASP.NET 1.1 只在 32 位模式下运行。而 ASP.NET 2.0 在 32 位或 64 位模式下都可以运行。因此,如果想要同时运行 ASP.NET 1.1 和 ASP.NET 2.0,必须在 32 位模式下...

C# WinForm在高分辨率下界面模糊问题的解决

前言 昨天刚搞定了DevExpress,今天就遇到了之前遇到过的一个问题,那就是WinForm在高分辨率下界面模糊。我的开发环境是Windows10 64位和VS2010,电脑屏幕分辨率为1920*1080,采用的是WinForm程序设计方法开发。在程序运行时遇到了这样一个问题,在VS设计的很清晰的菜单和界面,运行的时候菜单和控件上字体变得很模糊,界面大小...