在我们的软件开发中,经常会连接到数据库中,如果是常规的操作,我们经常会将连接数据库的字符串写在配置文件中,然后去读取数据库的连接字符串,其实这种方式是非常不科学的,这会直接暴露我们的数据库,直接暴露我们的用户名和密码,这将为系统的安全性提供了很大的不确定性,特别是在一些金融公司里,这些数据库都是绝密的,对外暴露这些也是非常不安全的行为和方式。

 另外如果在一个项目组中,多人同时开发应用,并且有两个或者两个以上的人员同时访问同一个数据库,那么同样的数据库会建立多次重复的连接,写很多重复的代码,这种开发方式是非常不科学的,特别是在以Prism这种框架下同时开发多个应用时,使用WCF似乎是一个很不错的选择,那么究竟什么是WCF?如何建立WCF程序,并且将WCF发布到IIS上,从而通过IP和端口去访问这个WCF程序呢?

首先来回答第一个问题:什么是WCF?这里摘录了一些官方的一些简单解释:Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTPFTP的相关技术。

一  如何建立一个WCF应用程序:

1 打开VS2012,选择WCF==>WCF服务库  

  2 点击确认以后,可以通过看到会生成下列代码。

  我们可以看到默认生成了一个IService1的接口以及实现该接口的一个类Service1,这代表一个WCF程序,当然我们可以通过右键:添加==》新建项==》WCF程序来添加第二个WCF程序,这个程序也包含一个IService2的接口以及实现该接口的一个类Service2,当然这里怎么去具体写这个服务,这里就不再赘述,这里重点讲述怎么去配置以及发布WCF程序。

这里重点讲一下怎么去调试WCF程序,右键选择调试,然后启动新实例,会启动一个微软为我们提供的一个调试工具“WCF测试客户端”。

  启动调试客户端后,我们可以首先在WCF程序中设置断点,然后选择某一个WCF程序的某个函数,然后在右侧1的位置上填入自己设定的参数值,然后再启动代理,进行相关的调试,这里简单介绍一下。

3  在整个WCF程序确定调试无误后,我们需要将当前的WCF程序进行发布,发布的方法是右键当前程序,单击“发布”然后将其发布到一个合适的物理位置,发布程序后,我们可以看看生成了些什么东西。  

WCF程序默认是以svc作为后缀名称的,每一个svc文件代表一个WCF程序,还有一个WCF程序的关键信息的配置文件,Web.config文件,这里只是简单介绍一下,配置完成以后,我们就可以将该WCF部署到IIS上,然后通过访问网站的形式来安装部署到IIS上。

 二  安装IIS

1 依次进入Windows7—》控制面板—》程序—》程序和功能,并选择“打开或关闭Windows功能”

此处非常重要,注意依次勾选 “Internet 信息服务”目录下面的“常见HTTP错误—》HTTP错误一定要勾选,否则出现错误时不能够提示错误,这个是非常严重的”。最后将万维网服务—》应用程序开发功能—》下面的所有选项全部都勾选上,其它的选项选择默认就可以了,一般在安全性下面选择—》请求筛选,常见HTTP功能下勾选—》Http错误—》静态内容—》默认文档—》目录浏览,性能功能下选中—》静态内容压缩,运行状况和诊断下选中—》HTTP日志—》请求监视器,然后就选择确定。

2  安装完IIS之后可以通过 计算机—》管理中查看安装的IIS。  

   三   将WCF程序部署到IIS上。

1  注册WCF组件。

    WCF 4.0 一般默认安装.net Framework 4.0的时候已经安装,但如果先装.net framework 4.0,后装IIS,就会出现问题。需要重新注册WCF4.0,WCF4.0 已经是.net 4.0的一个内部组件,不需要.net3.5 那样麻烦先装windows组件。

如何看是否已经注册了WCF组件,选择:Default Web Site==》功能视图==》处理程序映射,然后再查看*.svc 后缀的文件是否被svc-Integrated-4.0 或 svc-ISAPI-4.0_64/32bit 程序处理:

  如果没有被处理,则需要注册WCF组件,具体的方法是以管理员权限运行cmd 然后运行下面的命令 C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication  Foundation\ ServiceModelReg.exe  –i 以进行注册,并安装相应的组件,安装成功后会有相应的提示。

  2 使用aspnet_regiis.exe注册IIS。

    由于我们使用的.net framework4.0以上的框架开发的应用程序,但是系统只默认注册了.NET Framework v2.0.50727,如果不注册相应的IIS那么我们访问界面时会弹出以下的错误。

    具体的方法是以管理员权限运行cmd 然后运行下面的命令 C:\Windows\Microsoft.NET\Framework\v4.0.30319\ aspnet_regiis.exe  –i 以进行注册。注册成功会出现下面的提示。    

  3 为应用程序添加应用程序池(例如名称为:IGISPool)。

    记住选择.NET Framework的版本为v4.0.30319 托管管道模式选择集成,然后选择确定,那么一个应用程序池就好了。

  4  添加网站。

    

    A  网站的名称可以自己去命名,此处网站的名称为IGIS。

    B  应用程序池选择步骤3中建立的IGIS应用程序池(IGISPool)。

    C  物理路径,选择到“发布服务”这一层,用户在布局的时候只需要将WCF服务(放在发布文件文件夹下面)放到本地的一个路径下面,然后选择到“发布服务”这一文件夹就可以了。

    D  身份验证(当然该步骤可以省略)。

   为了保证当前网站的安全,需要进行权限验证,点击“连接为”,并按照下面的步骤一次输入用户名、密码,然后选择确定。

   确定完成后点击“测试设置”出现下图所示的界面时表示当前身份验证成功。

    E 在完成D步骤后,分配IP,可以选择127.0.0.1作为只在本机运行的网站,也可以设置在局域网中的本机IP,这样别机器就能够通过这个地址来访问当前网站,也可以使用默认的全部未分配。

    F 网站的端口号选择一个本机未被占用的端口号,这里选择8100作为端口号,默认值为80端口。

    G 主机名称选填。

    H 点击确定,这样一个网站就布置好了。

  5  浏览当前网站。

  5.1 选择左侧自己新建的网站IGIS。

  5.2  切换到“内容视图”。        

    5.3 选择其中的任何一个svc文件,右键选择浏览。    

    5.4  如果浏览器出现下面的界面,则表明当前的网站可以正常访问。    


    5.5  本文档是在Window7 32位系统上面部署的文件,如果是在在64位操作系统中部署的该系统,那么还应该设置应用程序池的基本属性中配置相关属性“以允许32位程序集运行”。

 

 

如何建立一个WCF服务并将其发布到IIS上的更多相关文章

  1. WCF服务的创建和发布到IIS

    一. WCF服务的创建 有两种创建方式: 1.WCF服务库 2.WCF服务应用程序 如下图所示: 这里选择WCF服务库.注意事项: 1.WCF服务库是一个类库项目,这里选择.net 3.5版本(版本高 ...

  2. 【转】WCF服务的创建和发布到IIS

    一. WCF服务的创建 有两种创建方式: 1.WCF服务库 2.WCF服务应用程序 如下图所示: 这里选择WCF服务库.注意事项: 1.WCF服务库是一个类库项目,这里选择.net 3.5版本(版本高 ...

  3. WCF学习系列一_创建第一个WCF服务

    原创作者:灰灰虫的家http://hi.baidu.com/grayworm WCF开发实战系列一:创建第一个WCF服务 在这个实战中我们将使用DataContract,ServiceContract ...

  4. WCF开发实战系列一:创建第一个WCF服务

    WCF开发实战系列一:创建第一个WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 在这个实战中我们将使用DataContract,ServiceContract ...

  5. 20190710用控制台启动一个wcf服务

    快速阅读 如何用控制台启动一个wcf服务,已经wcf的配置和在类库中如何实现 . wcf类库 用vs新建一个类库,引用system.ServiceModel 定义接口实现服务契约和操作契约 [Serv ...

  6. 1 学习wcf 编写简单的WCF服务流程 并发布在IIS上

    学习笔记 学习大佬的博客 https://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html  写一遍加深印象 图片看不清楚的 可 ...

  7. WCF开发实战系列一:创建第一个WCF服务 转

    转 http://www.cnblogs.com/poissonnotes/archive/2010/08/28/1811064.html 在这个实战中我们将使用DataContract,Servic ...

  8. 创建第一个WCF服务

    创建WCF服务 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序. 2.建立完成后如下图所示: 3.删除系统生成的两个文件IService1.cs与Service1.s ...

  9. jmeter 建立一个网络服务的测试计划

    如何创建一个 测试计划 测试一个网络服务. 你会 创建5个用户发送请求到一页. 同时,你会告诉用户运行测试两次. 的总数 请求用户请求(5)x(1)x(重复2次)= 10 HTTP请求. 来 建立测试 ...

随机推荐

  1. 兼容Android 和 ios JavaScript copy paste

    <!DOCTYPE html> <html> <head> <title>关于我们Frame</title> <meta charse ...

  2. Oracle 11g实时SQL监控 v$sql_monitor

    Oracle 11g实时SQL监控: 前面提到,在Oracle Database 11g中,v$session视图增加了一些新的字段,这其中包括SQL_EXEC_START和SQL_EXEC_ID, ...

  3. 在DreamView中支持一辆新车

    Support a new Vehicle in DreamView In order to support a new vehicle in DreamView, please follow the ...

  4. Echo团队Alpha冲刺随笔 - 第五天

    项目冲刺情况 进展 前端:布局,内容等方面基本完成. 后端:基本功能基本实现. 计划:准备进行前后端对接,进行测试 问题 有部分代码冗余,需要着手修改 心得 团队分工明确,互相协作,开发进度比预想的要 ...

  5. Vscode的python配置(macOS)

    _ 1. Vscode是一款开源的跨平台编辑器.默认情况下,vscode使用的语言为英文(en),以下步骤改为中文 打开vscode工具,使用快捷键组合[Cmd+Shift+p],在搜索框中输入“co ...

  6. 2018年12月份GitHub上最热门的Java开源项目

    来自:开源最前线(ID:OpenSourceTop) 链接:https://www.itcodemonkey.com/article/12747.html 又到了公布 GitHub 上热门项目的时候啦 ...

  7. 深入浅出Tomcat系列

    原本打算一篇文章就发了的,无奈文章太长,阅读压力较大.为了让阅读体验更好一些,还是分多篇吧,大概6篇. 下面是这个主题的目录: 深入浅出Tomcat/1- 来历和配置文件 深入浅出Tomcat/2 - ...

  8. Python全栈开发之路 【第五篇】:Python基础之函数进阶(装饰器、生成器&迭代器)

    本节内容 一.名称空间 又名name space,就是存放名字的地方.举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的地方. 名称空间共3种,分别如下 ...

  9. dcoker搭建wordpress

    下载wordpress镜像 docker pull wordpress 创建wordpress容器 docker run -d --name wordpress --link mysql:mysql ...

  10. c++入门之字符相关入门

    先上代码: # include "iostream" # include "string" //# define BYTE char//注意,这里没有分号,且# ...