实习尾声,以接口任务终结。将PC端的流程“复制”一套给移动端,PC端开发,与移动端交互。开发+测试。
一.本地IIS部署WCF服务
1.在本机上打开IIS
进入控制面板,点击程序下的卸载程序。在以及安装的程序中,可以看到已经存在了一个IIS(红色框中),那是因为我的电脑中已经安装了VS 2013,它默认有一个IIS服务器。而本机的IIS寻找入口就是在“打开或关闭Windows功能”(黄色框)中。

下图就是本机的IIS,Internet信息服务(Internet Information Service),将其全部勾选上。点击确定,稍等几分钟,IIS就可安装好了。要看安装结果,右击计算机-->管理,,在“服务和应用程序”列下,多出了“Internet信息服务(IIS)管理器”,


2.VS中发布项目

3.将项目部署在IIS上
在IIS管理器中,右击网站-->添加网站,进行相关的配置。网站名称自定义,内容目录的物理路径就是刚才打包项目存放的本地路径。IP地址以及端口号自定义,我是直接用的本机IP,端口号要注意不要和其他特殊的端口号冲突。

4.访问WCF服务,测试接口
我还是借用的Postman工具测试接口的,具体的使用方法可见我之前的博客。其中127.0.0.1:8090就代表了我本机当中项目的路径,如果想让另一台电脑访问,可以使用自己的本机IP。访问路径一直写到对应的接口再加上所需的参数,因为这里我是使用的get方式。
注意:使用GET还是Post请求方式由项目中的接口定义提交方式决定。WCF中为把当前服务给暴露出去,允许客户端直接调用此服务,会在接口定义上加上WebInvoke或WebGet提交方式。WebInvoke更适用于对数据进行操作(比如数据的增删改),WebGet的定义提交方式类似于“Get”,更适用于数据查询。不要不明后台接口情况的胡乱使用,否则会报404哦~

二.可能遇到的问题及其解决方案
1.HTTP错误404.3
出现这个错误的原因可能是在IIS中没有正确配置WCF服务。
解决方案:
以管理员运行cmd,进入到C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation目录下,
首先检测服务状态:ServiceModelReg -vi ,如果协议都是“未安装”状态,则可以确定是WCF在IIS中没有正确安装。
安装服务:ServiceModelReg -i
安装成功后,再试试服务。
2.未能加载文件或程序集“***”或它的某一个依赖项。试图加载格式不正确的程序。
出现这种错误的原因是操作系统是64位的,但发布的程序引用的是32位的dll,出现了兼容性问题。
解决方案:
进入IIS应用程序池-->高级设置,将启用32位应用程序改为true。
实践所得。
日技
1297

被折叠的 条评论
为什么被折叠?



