IIS部署WebService总结文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在win7系统上部署IIS发布webservice
1.webservice的机制:将发布web service的机器称为服务端,而将调用web service的机器
称为客户端。
首先服务端将发布web 服务。
客户端调用步骤:
step 1:加入web 应用,将刚才发布的web服务加入,这时生成了上述web服务在本地的一个代理,我们假设为WebProxy。
step 2:客户端调用之前首先实例化一个该代理的对象,然后调用发布的方法
step 3:客户端将调用信息包括方法名和参数加入到soap消息中通过http传送给
web service服务端
step 4:服务端从soap消息中获得调用信息,然后执行方法,将返回结果加入到soap 消息中然后通过http传回
step 5:客户端代理得到这个soap消息后解析处结果返回给调用客户端方法
2.安装IIS过程,在控制面板程序→程序功能→打开或关闭windows功能
3.
将Internet信息服务中的选项全部选中,点击确定。
4.验证IIS是否正确安装,等待几分钟后IIS配置完成在浏览器输入
http://localhost/iisstart.htm若出现下面的图标说明IIS安装成功
5.发布服务的方式:①接下来是发布服务的情况,可以将服务直接放在
C:\inetpub\wwwroot目录下,C:\inetpub\wwwroot即为网站的根目录,输入相应的网址即可访问(仅能在本地测试,不建议)。②通过Internet信息服务(IIS)管理器发布网站,先在vs上生成网站 发布网站。“生成”->“发布网站”,这里会弹出一个对话框,什么也不需要修改,记下发布的目录。比如:D:\WebSite1,我们需要目录下的文件。在IIS管理器- 网站-新建网站(根据具体情况确定应用程序池以及是否新建主要修改选项:.net 版本,windows是32还是64主要涉及的是编译的dll是32还是64位的)-自己新建网站下新建一个虚拟目录(注意修改端口),比如webservice,并将发布目录中的所有文件和目录拷贝到这个目录中。可以通过访问http://localhost/webservice/Service.asmx 来验证。(注意:在①测试时很多用到的文件需要放在根目录C:\inetpub\wwwroot才能执行)
6.配置注意事项:在这里要说一下是先装的vs还是iis。(建议先装iis)若先装的vs那么
需要重装.net framework,否则可能出现HTTP Error 500.21。原因:在安装Framework v4.0(版本可以改)之后,再启用IIS,导致Framework没有完全安装。解决:开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->C:\Windows\\Framework\v4.0.30319\aspnet_regiis.exe -i
说一下可能出现的问题:
HTTP 错误500.24- Internal Server Error检测到在集成的托管管道模式下不适用的
设置。(多是托管管道模式不正确)
打开IIS管理器,选择应用程序池——你的网站应用程序池——单击右侧的“设置应用程序池默认设置”,打开,在常规中,将“启用32位应用程序”设置为“True”,将“托管管道模式”改为Classic,最后单击“确定”。
HTTP Error 503。The service is unavailable
地址错误,主机没找到!
在IIS7.0中看到应用程序的应用程序池中的经典模式不知道怎么的就自己停止了。需要启动应用程序池。
重新注册.net framework
今天在部署网站时出现了下面的错误:
Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.] 原因是在安装了IIS后又装了其他版本的framework, 导致assemble中的版本和程序使用的版本不一致了。
解决办法是使用 aspnet_regiis.exe -iru重新注册iis。
操作如下:
使用administrator权限开启command promt(一定要用管理员权限打开,否则注册不上)进入framework的文件夹(C:\Windows\\Framework\),选择相应的版本下的文件夹(v4.0.30319),使用命令
aspnet_regiis.exe -iru
等注册完成后网站就可以打开了。
重注册2.0的方法同上
C:\WINDOWS\\Framework\v2.0.50727\aspnet_regiis.exe –i
The test form is only available for requests from the local machine.
在web.config文件
HTTP 错误 403.14 - Forbidden Web服务器被配置为不列出此目录的内容.
IIS管理器->对应的应用程序右侧视图窗口,双击“目录浏览”->选择启用,即可
当只是在本地测试时可以不发布直接放在根目录,发布后则不会出现以下问题,要启用目录浏览
是否启用32位系统(某些dll不可用)
有些dll文件是32位系统编译的,那么在IIS下必须使用32位系统应用程序否则会
dll文件是在64位机下编译的,而你的服务器是32位机,所以无法调用
或者你的dll文件是在64位开发环境下下编译的,而你现在的调用程序是的32位,所以无