1 学习wcf 编写简单的WCF服务流程 并发布在IIS上
学习笔记
学习大佬的博客 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上的更多相关文章
- 如何建立一个WCF服务并将其发布到IIS上
在我们的软件开发中,经常会连接到数据库中,如果是常规的操作,我们经常会将连接数据库的字符串写在配置文件中,然后去读取数据库的连接字符串,其实这种方式是非常不科学的,这会直接暴露我们的数据库,直接暴露我 ...
- 学习构建一个简单的wcf服务
入门,构建第一个WCF程序 1.服务端 建立一个控制台应用程序作为Server,新建一个接口IData作为服务契约.这个契约接口一会儿也要放到Client端,这样双方才能遵循相同的标准.别忘了添加对 ...
- WCF学习——构建一个简单的WCF应用(二)
我们接着上一篇文章进行讲解 http://www.cnblogs.com/songjianhui/p/7060698.html 一:客户端通过添加引用调用服务 WCF应用服务被成功寄宿后,WCF服务应 ...
- WCF学习——构建一个简单的WCF应用(一)
本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些准备开始学习WCF的初学者提供一些帮助. 在这个例子中,我们将实现一个简单的计算器和传统的分布式通信框架一样,WC ...
- WCF客户端简单动态配置服务地址
本来想实现WCF服务无论放到哪个机器上,我的客户端都不需要重新编译,只需要配置一个服务的地址即可.各种百度找到了很多解决方案.但都比较繁琐,(只要因为个人小菜看不懂太多的代码)我对WCF内部机制还不了 ...
- WCF简单使用(分别部署在控制台和IIS上)
WCF部署到控制台 1.下面通过一个简单的服务示例来认识WCF1.新建项目,名称IBLL,解决方案名称WcfDemo,模板选择类库2.修改Class1.cs文件名称为 IUserInfoService ...
- ftplib模块编写简单的ftp服务
from ftplib import * import os,readline import sys class MyFtp: ftp = FTP() #建立一个ftp对象的链接 '): #构造函数初 ...
- WCF服务发布到IIS中去(VS2013+win7系统)
第一个WCF程序 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序.建立完成后如下图所示: 2.删除系统生成的两个文件IService1.cs与Service1.svc ...
- WCF服务发布到IIS中去 在WCF调试
第一个WCF程序 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序.建立完成后如下图所示: 2.删除系统生成的两个文件IService1.cs与Service1.svc ...
随机推荐
- oracle基础知识点
一.count(*).count(1).count(字段名)的区别select count(*) from t_md_inst --153797 --包含字段为null 的记录select count ...
- JDK下载安装与环境变量配置图文教程【超详细】
JDK下载安装与环境变量配置图文教程[超详细] 创建时间:2019年11月13日11时02分 文章目录 1. JDK介绍 1.1 什么是JDK? 1.2 JDK版本介绍 2. JDK下载与安装 3.w ...
- a++ 和 ++a
//a++ 先赋值,后加 var a = 1 console.log(a++);//1 console.log(a) //2 //++a 先赋值,后加 var a = 1 console.log(++ ...
- CSS:display:flex详解
水平居中很容易实现,但是一般垂直居中好像不是很好实现,一般我们都会用position.left等等进行定位:但是flex很好的解决了这个问题 Flex就是"弹性布局",现在应用很多 ...
- C语言 Char* 和Char 用法
分类专栏: C语言 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/imxlw00/ar ...
- 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]= ...
- Unknown CMake command "check_symbol_exists".
- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpyCMake Error at CMakeLists.txt ...
- Oracle库基本操作
--oracle 获取表名称,字段 with vA as ( SELECT USER_TAB_COLS.TABLE_NAME as 表名,USER_TAB_COLS.COLUMN_NAME as 列名 ...
- [ZJOI2009] 狼与羊的故事 - 最小割
给定一个\(N \times M\)方格矩阵,每个格子可在\(0,1,2\)中取值.要求在方格的边上进行划分,使得任意联通块内不同时包含\(1\)和\(2\)的格子. ________________ ...
- Selenium3+python自动化009- 多选框
多选框 # 随机选择多选框# sports=driver.find_elements_by_name("sport")# maxnum=len(sports)# num=rando ...