简述

        WebService的开发可以使用Java也可以使用C#,大家各有优缺点,之前也有过用Java写过一个WebService很方便直接使用EndPoint发布就可以用,但是在网页上打开的.wsdl看起来很别扭特别是如果写的调用接口很多的话就让人看的眼花缭乱;现在之所以选择C#是因为通过其发布的WebService在网页上打开的.asmx可以很清晰的知道调用接口,但是其发布比之Java稍微有些麻烦。

发布WebService工程

        通过VS2013建立一个WebService,文件->新建->项目,然后选择一个空Web应用程序:

IIS 安装java 环境_IIS 安装java 环境

         对刚才新建的项目右键->添加->Web服务(ASMX),因为我们打开的网站后缀就是.asmx,命名为WebServiceTest:

IIS 安装java 环境_IIS 安装java 环境_02

IIS 安装java 环境_.Net_03

        这时候生成的文件先不改,我们按默认的发布,再次对新建的项目右键->发布:

IIS 安装java 环境_.Net_04

         选择或导入发布配置文件(S),我们选择<新建配置文件...>,然后我们命名跟类名一样,这个名字也很重要的不然到时候就会出来403错误了,当然也可以不跟类名一样,但是需要记住发布的名称因为后面要添加到IIS的默认文档里:

IIS 安装java 环境_应用程序_05

        发布方法我们选择:文件系统,目标位置就是我们的文件存放位置了,后面在IIS时需要选择这个目录,最后直接点击发布,然后会在输出里显示发布成功字样: 

IIS 安装java 环境_IIS 安装java 环境_06

IIS 安装java 环境_IIS_07

 安装IIS

        找到控制面板->程序和功能->启用或关闭Windows功能:

IIS 安装java 环境_IIS 安装java 环境_08

         找到Internet Information Services,然后把FTP服务器、Web管理工具都勾上,万维网服务则选择性勾上:

IIS 安装java 环境_IIS_09

IIS新建网站 

        返回控制面板找->管理工具,找到Internet Information Services (IIS)管理器,双击打开,然后在其左侧空白处右键->添加网站,网站名称随意,应用程序池可以不改(如果出错了好找到对应程序池),物理路径就更改为发布网站时所填的路径,然后我们点击测试设置,授权失败则表示我们没有指定系统用户给他:

IIS 安装java 环境_.Net_10

        既然没有授权,我们就先授权,点击连接为->特定用户,输入当前电脑的用户名和密码后我们在点击测试配置,发现已经授权成功: 

IIS 安装java 环境_.Net_11

IIS 安装java 环境_IIS 安装java 环境_12

         最后我们给网站选择一个IP和端口,IP就选当前使用的IP,端口则是没人用的:

IIS 安装java 环境_应用程序_13

         我们可以选中我们新建的网站后,在右侧点击浏览网站打开我们发布的网站,然后我们会很失望的看到一个403的错误,这就是之前说的要在默认文档中添加我们发布的网站名:

IIS 安装java 环境_IIS 安装java 环境_14

         选中我们新建的网站后,在中间的功能试图中找到默认文档双击,空白处右键添加我们发布时填写的名字,最后我们再重启一下我们的网站然后在浏览网站下点击网站链接打开网址:

IIS 安装java 环境_IIS_15

        如果出现 “/”应用程序中的服务器错误,则说明服务器用的.Net版本跟程序池用的.Net版本对不上,需要修改:

IIS 安装java 环境_IIS_16

        修改一:可以对程序名称 右键->属性,找到目标框架(G)把这里的.Net修改为跟IIS程序池的.Net一个版本,然后重新发布,还需要重新添加默认文档因为重新发布后之前的就不见了:

IIS 安装java 环境_IIS_17

        修改二 :可以在IIS中的应用程序池中找到与网站名称一样的程序池,因为添加网站时默认填写的没有修改,对其右键->设置应用程序池默认设置:

IIS 安装java 环境_应用程序_18

IIS 安装java 环境_.Net_19

         然后还需要对其双击打开编辑应用程序池,把.Net CLR版本(C)改为对应的,然后重新浏览:

IIS 安装java 环境_应用程序_20

IIS 安装java 环境_IIS 安装java 环境_21

设置防火墙

        现在也仅仅只是我们本机可以访问,如果是局域网的其他电脑是打不开的,因为被防火墙拦截了,这时候我们需要把我们的新端口给添加到防火墙白名单中:

IIS 安装java 环境_WebService_22

IIS 安装java 环境_WebService_23

IIS 安装java 环境_IIS 安装java 环境_24

IIS 安装java 环境_应用程序_25

IIS 安装java 环境_应用程序_26

IIS 安装java 环境_IIS 安装java 环境_27