我的WCF摸爬滚打之路(2)
昨天抽空写了一个wcf的创建和宿主程序的创建文章,下面也有很多园友给了评论,在此谢谢大家给了我继续记录我的摸爬滚打之路信心……抱拳!
上次的文章《我的WCF摸爬滚打之路(1)》中写到,在测试wcf例子的时候遇到很多稀奇古怪的异常,准备列个专题写的。无奈学习不深,实在不敢潦草为之。今天就随便说说吧!说的不到位的地方,还望有缘人海涵。多多指点,共同学习,共同进步。
一般在测试这些技术的时候,你遇到的问题,在网上搜搜大多也能解决问题。因为我也是站在别人的肩膀上学习的。其实你别把wcf这种通信的技术想多有多么复杂(我仅仅只是说一些一般应用中哈,当然玩深入的话,任何一个技术都感觉深不可测。勿喷)。我理解的wcf就是把实现接口的服务暴露出来供我使用而已。附上一个简单的理解图:

一、简单讲讲客户端的的配置文件吧,客户端的配置文件当你添加服务引用后会自动生成config文件中的内容。
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IService1">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://localhost:13141/Service1" binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IService1" contract="ServiceReference1.IService1"
name="NetTcpBinding_IService1" />
</client>
</system.serviceModel>
<bindings>
//这个节点就是你wcf的绑定方式
//security安全模式
</bindings>
<client>
//wcf访问地址(address,wcf的端口号,ip,和你的服务(实现接口的那个类))
//wcf的契约(contract,就是你的添加服务引用后的Reference.cs文件中有个configurationNme属性)
</client>
二、wcf宿主程序在服务器上运行的注意事项
2.1我的测试环境是windowsServer2012 R2
2.2我的宿主程序是控制台程序,当我直接运行编译好的exe文件时,出现下列错误。大致意思是说当前用户没有权限运行。右键以管理员身份运行正常。

2.3有的网络环境可能需要让管理员跟你开放端口,不然的话是无法访问你的wcf服务的
2.4宿主程序运行正常,客户端是否就能正常连接呢?试试看。会提示你无法找到服务,这有可能是你的服务器防火墙起了作用,此时你要的做的是在防火墙中添加入站规则,将管理员给你开放的端口添加进去。送佛送到西直接上图如何添加入站规则吧。
1.进入控制面板,找到windows防火墙

2.进入高级设置

3.选择入站规则,点击new rule

4.选择port,点击next

5.选择 Specific local ports,输入你的端口(wcf的端口)

6.选择允许链接

7.全部选中规则应用时间

9.便于管理输入规则名称。例如:InWcfRule

点击finish即可,经过测试访问没问题了。
另外注意的是服务端和客户端的配置中的安全模式都置为None
【转载注明出处!谢谢】
我的WCF摸爬滚打之路(2)的更多相关文章
- 我的WCF摸爬滚打之路(1)
等了好久终于等到今天!盼了好久终于把梦实现……哈哈,仅以此歌词来庆祝我为期3天的wcf学习之路圆满结束. 今天写这个文章的目的在于记录一下我自己在学习WCF的时候碰到的一些问题,俗话说,好记心不如烂笔 ...
- 前端摸爬滚打之路(一)之 JavaScript 基础
前言:这是我第一次在博客上记录自己的前端学习过程,以往都是在桌面右侧开个 onenote 小窗,记录自己在学习过程中获得的知识.通常都是记录的满满当当,然后心满意足的关闭窗口,但是记录不代表学会.这些 ...
- 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...
- 学习WCF之路,长期更新
我学习WCF之路:创建一个简单的WCF程序 为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用.本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本 ...
- 学习之路十四:客户端调用WCF服务的几种方法小议
最近项目中接触了一点WCF的知识,也就是怎么调用WCF服务,上网查了一些资料,很快就搞出来,可是不符合头的要求,主要有以下几个方面: ①WCF的地址会变动,地址虽变,但是里面的逻辑不变! ②不要引用W ...
- 【架构之路之WCF全析(一)】--服务协定及消息模式
上周微软开公布会说.NET支持全然跨平台和并开放Core源代码的新闻,让我们顿时感到.NET要迎来它的春天.尽管早在几年前.NET就能开发Android和IOS,可是这次的跨平台把Linux都放到了微 ...
- WCF配置文件与文件下载之坎坷路
题外话:本以为我会WCF了,精通WCF了,毕竟刚做过一个WCF的项目,不就是写写契约接口,然后实现接口,改下配置.最后用控制台或者服务发布一下,不就能用了.不就是简单ABC吗?不是So Easy吗?做 ...
- WCF的坎坷发布之路
背景 发布WCF服务之后,总会遇到这样活着那样的错误.再加上对IIS中的一些程序应用不太熟悉,所以解决起来比较困难.网上的解决方案特别多,但都只给出了个别一种原因.经过一个下午和一个上午的 ...
- 学习之路三十五:Android和WCF通信 - 大数据压缩后传输
最近一直在优化项目的性能,就在前几天找到了一些资料,终于有方案了,那就是压缩数据. 一丶前端和后端的压缩和解压缩流程 二丶优点和缺点 优点:①字符串的压缩率能够达到70%-80%左右 ②字符串数量更少 ...
随机推荐
- APP icon 自动来做,photoshop 做圆角图片
项目上传到应用市场,没有美工配合,那就只能自己捉刀了. 有几个点快捷键要注意,对使用ps有帮助 (1)ctrl+enter 建立选区 (2)建立选区后,移动到另外的图层,按delete键就为删除 (3 ...
- C语言中的自定义函数
C语言中可以使用系统函数也可以使用自己的函数,就是自定义函数 自定义函数分为四种 第一种:无参无返回值的 函数的声明 void sayH(); 函数的实现 void sayH(){ printf(&q ...
- 朝花夕拾-android 自定义application 管理activity的生命周期
为了安全退出多个已创建的activity? 可以自定义application:myapplication. 增加一个list成员保存,一些关键的已创建的activity实例: private List ...
- UVa 109 - SCUD Busters(凸包计算)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- 响应式Web设计 – 布局
写在前面 去年上半年,我开始着手推动项目中响应式设计的落地.以官网优化需求为契机,主动去做了响应式的页面设计,也说服了产品.设计和开发的相关同事一起把它上线落实,但不幸的是,由于各种方面的原因,比如, ...
- tmpFile.renameTo(classFile) failed 错误
突然的出现了这个tmpFile.renameTo(classFile) failed 错误. 也许是我删掉了tomcat里面的webapps 中的项目,而通过debug部署,而出现了这个问题. 一开始 ...
- 09_Sum游戏(UVa 10891 Game of Sum)
问题来源:刘汝佳<算法竞赛入门经典--训练指南> P67 例题28: 问题描述:有一个长度为n的整数序列,两个游戏者A和B轮流取数,A先取,每次可以从左端或者右端取一个或多个数,但不能两端 ...
- poj 1144 Network 图的割顶判断模板
Network Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8797 Accepted: 4116 Descripti ...
- Python pass语句作用与用法
Python中的pass语句作用是什么?表示它不做任何事情,一般用做占位语句.pass语句具体作用及使用方法,我们往下看. pass语句在函数中的作用 当你在编写一个程序时,执行语句部分思路还没有完成 ...
- rabbitmq server的安装以及常用的命令
Centos 源代码编译 安装 ErlangErlang依赖哪些库? A fully working GCC compiler environment Ncurses developm ...