学习笔记

学习大佬的博客 https://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html  写一遍加深印象

图片看不清楚的 可以拉倒另外的窗口看 就是高清大图了

1 创建WCF项目,文件》新建项目》WCF服务应用程序》输入应用名称

2 将项目自动生成的Iservice1和Service1 文件删除,自己来添加

3 点击项目 右键》添加 》新建项 》选择WCF服务 》输入合适的文件名称,确定

4 vs会在项目中生成对应名称的一个接口文件和一个服务文件,我们在服务接口文件中定义接口方法和特性,在服务实现文件中写具体的逻辑代码(注意WCF特性的添加

服务接口文件

服务实现文件

5 将服务实现文件设置为启动页面。然后就F5进入调试

6 进入调试页面 会打开VS 自带的测试工具 WCF测试客户端

在测试客户端中能看到接口中定义的服务和生成的配置文件,双击方法,输入参数,点击调用按钮进行调试

7 部署到服务器上。

将项目重新生成一次,右键点击项目选择发布,新建配置文件》选择文件系统》选择发布包文件生成的地址》点击生成按钮

8 发布在IIS 上 在Windows开始菜单中 输入IIS  选择 Internet 信息服务(IIS)管理器,打开该软件

9 右键网站》 添加网站》进行设置》点击确定

添加成功,选择发布的服务 ,点击右边的浏览网站进行发布测试是否成功

在浏览器输入http://localhost:8085/UserService.svc 端口自己根据自己设置的

遇到一个权限不够的问题,需要给 发布包文件夹 添加一个Everyone用户的 并且赋予权限,

10 进入到iis中,找到刚刚发布的服务,右键》编辑权限》进到 安全选项卡》添加一个Everyone 用户并给其足够的权限

11 再来访问一次 http://localhost:8085/UserService.svc

至此发布WCF服务成功

12 客户端来访问 右键点击 引用》添加服务引用》输入服务的地址》前往》确定服务的命名空间》确定

开始调用

 ServiceReference2.UserServiceClient client1 = new ServiceReference2.UserServiceClient();
ConsoleApplication1.ServiceReference2.UserInfo userInfo = client1.GetUserInfo();
Console.WriteLine(userInfo.Id + " :" + userInfo.Name);

1 学习wcf 编写简单的WCF服务流程 并发布在IIS上的更多相关文章

  1. 如何建立一个WCF服务并将其发布到IIS上

    在我们的软件开发中,经常会连接到数据库中,如果是常规的操作,我们经常会将连接数据库的字符串写在配置文件中,然后去读取数据库的连接字符串,其实这种方式是非常不科学的,这会直接暴露我们的数据库,直接暴露我 ...

  2. 学习构建一个简单的wcf服务

    入门,构建第一个WCF程序 1.服务端 建立一个控制台应用程序作为Server,新建一个接口IData作为服务契约.这个契约接口一会儿也要放到Client端,这样双方才能遵循相同的标准.别忘了添加对 ...

  3. WCF学习——构建一个简单的WCF应用(二)

    我们接着上一篇文章进行讲解 http://www.cnblogs.com/songjianhui/p/7060698.html 一:客户端通过添加引用调用服务 WCF应用服务被成功寄宿后,WCF服务应 ...

  4. WCF学习——构建一个简单的WCF应用(一)

    本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些准备开始学习WCF的初学者提供一些帮助. 在这个例子中,我们将实现一个简单的计算器和传统的分布式通信框架一样,WC ...

  5. WCF客户端简单动态配置服务地址

    本来想实现WCF服务无论放到哪个机器上,我的客户端都不需要重新编译,只需要配置一个服务的地址即可.各种百度找到了很多解决方案.但都比较繁琐,(只要因为个人小菜看不懂太多的代码)我对WCF内部机制还不了 ...

  6. WCF简单使用(分别部署在控制台和IIS上)

    WCF部署到控制台 1.下面通过一个简单的服务示例来认识WCF1.新建项目,名称IBLL,解决方案名称WcfDemo,模板选择类库2.修改Class1.cs文件名称为 IUserInfoService ...

  7. ftplib模块编写简单的ftp服务

    from ftplib import * import os,readline import sys class MyFtp: ftp = FTP() #建立一个ftp对象的链接 '): #构造函数初 ...

  8. WCF服务发布到IIS中去(VS2013+win7系统)

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

  9. WCF服务发布到IIS中去 在WCF调试

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

随机推荐

  1. oracle基础知识点

    一.count(*).count(1).count(字段名)的区别select count(*) from t_md_inst --153797 --包含字段为null 的记录select count ...

  2. JDK下载安装与环境变量配置图文教程【超详细】

    JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...

  3. a++ 和 ++a

    //a++ 先赋值,后加 var a = 1 console.log(a++);//1 console.log(a) //2 //++a 先赋值,后加 var a = 1 console.log(++ ...

  4. CSS:display:flex详解

    水平居中很容易实现,但是一般垂直居中好像不是很好实现,一般我们都会用position.left等等进行定位:但是flex很好的解决了这个问题 Flex就是"弹性布局",现在应用很多 ...

  5. C语言 Char* 和Char 用法

    分类专栏: C语言   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/imxlw00/ar ...

  6. AcWing 11. 背包问题求方案数

    //g[i,j]表示f[i,j]取最大值的方案数目 //体积最多是j 全部为0,v>=0 //体积恰好为j f[0][0]=0,f[i]=无穷,v>=0 //体积至少是j f[0][0]= ...

  7. Unknown CMake command "check_symbol_exists".

    - Using these message generators: gencpp;geneus;genlisp;gennodejs;genpyCMake Error at CMakeLists.txt ...

  8. Oracle库基本操作

    --oracle 获取表名称,字段 with vA as ( SELECT USER_TAB_COLS.TABLE_NAME as 表名,USER_TAB_COLS.COLUMN_NAME as 列名 ...

  9. [ZJOI2009] 狼与羊的故事 - 最小割

    给定一个\(N \times M\)方格矩阵,每个格子可在\(0,1,2\)中取值.要求在方格的边上进行划分,使得任意联通块内不同时包含\(1\)和\(2\)的格子. ________________ ...

  10. Selenium3+python自动化009- 多选框

    多选框 # 随机选择多选框# sports=driver.find_elements_by_name("sport")# maxnum=len(sports)# num=rando ...