学习笔记

学习大佬的博客 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. ES6--函数的参数

    参数展开(扩展) 1.收集剩余的参数 function show(a, b, ...args) { console.log(a); console.log(b); console.log(args); ...

  2. python multiprocessing 耗内存问题

    multiprocessing在每创建一个进程时,会将主进程的内存空间原封不动的复制一份到子进程,这样一来内存消耗很容易就翻几倍,导致程序无法运行. 究其原因,是启动进程时采用了os.fork(),使 ...

  3. 用cookie存值

    ////用Request获取到客户端Cookie 判断是否为空 //if (Request.Cookies["CheckTime"] == null) //{ // //创建Coo ...

  4. Linux虚拟文件系统–VFS简介

    http://www.embeddedlinux.org.cn/emb-linux/file-system/201712/20-7907.html 导读 Linux中可以支持多种文件系统,而且支持各种 ...

  5. C++ const char *返回值问题

    今天写代码,遇到一个const char *返回值的问题,记录一下 问题场景:我写了一个动态库,有个函数声明如下: ; 函数定义如下: const char * HttpRequestImpl::RG ...

  6. IDEA的Debug模式灰色无法运行

    1. 检查本地环境是否配置得当,进入项目右键看项目是否可以正常debug运行 2.  如果不可运行,那么选择File--Project Structrue 3. 修改Src文件,如图然后就可以正常使用 ...

  7. [HNOI2004] L语言 - AC自动机,dp

    给定字典和没有标点的文章,求能够被识别的最长前缀. 显然不能贪心,设\(f[i]\)表示前\(i\)个字符构成的前缀能否被识别,然后在AC自动机上暴力转移即可. 具体来说,每走到一个新位置,就沿着fa ...

  8. linux 安装java jdk

    1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1.8.0_102" O ...

  9. Docker学习一篇就够了

    Docker 1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像 ...

  10. Python 序列化与反序列化

    序列化是为了将内存中的字典.列表.集合以及各种对象,保存到一个文件中(字节流).而反序列化是将字节流转化回原始的对象的一个过程. json库 序列化:json.dumps() 反序列化:json.lo ...