学习笔记

学习大佬的博客 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. Winpcap学习笔记

    ————————————————版权声明:本文为CSDN博主「Ezioooooo」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blo ...

  3. 注解配置springMVC

    在随笔“springMVC项目配置文件”的基础上,进行优化,使用注解配置,控制器类得以简化: 一.注解配置springMVC 1.在HelloController类中,去除实现的Controller接 ...

  4. 项目部署 ubuntu Django uwsgi配置

    1.进入项目文件夹 mkdir uwsgi_file vim uwsgi.ini 写入保存 [uwsgi] chdir = /home/mysite/my_project # 项目目录 module ...

  5. Pikachu-php反序列化

    在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数. 序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象 ...

  6. [SNOI2017]炸弹[线段树优化建图]

    [SNOI2017]炸弹 线段树优化建图,然后跑一边tarjan把点全部缩起来,炸一次肯定是有连锁反应的所以整个连通块都一样-于是就可以发现有些是只有单向边的不能忘记更新,没了. #include & ...

  7. stylelint

    "number-leading-zero": "never", // 去掉小数点前面的0 "prettier.stylelintIntegration ...

  8. Latex中遇到 No room for a new \count 问题的解决

    在tex文件中加入etex宏包. \usepackage{etex} 最好加载第一个宏包位置 PDF合并 \documentclass[a4paper]{article}\usepackage{pdf ...

  9. java mail发送html格式的邮件

    // 获取系统属性 Properties properties = System.getProperties(); // 设置邮件服务器 properties.setProperty("ma ...

  10. gz、tar、zip、bz2压缩和解压缩命令

    gzip 压缩后的格式为:*.gz 这种压缩方式不能保存原文件:且不能压缩目录 命令举例:#压缩[root@localhost tmp]# gzip buodo[root@localhost tmp] ...