【翻译】WCF4.5:更少的配置和ASP.NET更好的支持

原文地址:

http://www.infoq.com/news/2012/02/WCF-4.5

 

Ido Flatow发表了一些列的博客,来讲述.NET4.5中关于WCF的更新

链接地址:

http://blogs.microsoft.co.il/blogs/idof/archive/2011/10/05/what-s-new-in-wcf-4-5-automatic-https-endpoint-for-iis.aspx

(有时间的话我会陆续翻译)

 

出于削减复杂性的目的,WCF自动生成的配置文件将会变得非常、非常的小。自从第一个版本的WCF以来,开发人员发现他们需要维护一个大概有30个配置节的app.config文件,而这些配置节都可以用默认值来代替。谁都知道删除这些多余的设置比较好,但不幸的是,谁都没有学会这一招!在WCF 4.5中配置文件只需要设置绑定的类型和名称即可!

 

当然这导致了另一个问题:“我怎么知道这些设置是什么呢?”为了回答这个问题,我们必须知道配置文件后端的代码(与配置信息相关的代码),并且配置文件的提示并不在是基于schema的智能提示。如果你正在编辑一个endpoint,你需要知道一个behavior的名字,这个时候开发工具会把可用的behavior的名字都给你列出来。在编译时一些配置文件的错误,如契约类型(contract type)行为名称(behavior name)的错误都会被提示出来。

 

对于那些直接使用WSDL的开发人员来说,也有好消息。WCF 4.5将会在一个单独的请求中返回一个完整的WSDL。在此之前,只会包含一部分WSDL,这将需要一系列的XSD文件来匹配这个WSDL。使用?singleWsdl查询字符串取代?singleWsdl可以使用这个改进

 

把WCF服务寄宿到系统服务内是完全可行的。但大多数开发人员继续在IIS下完成大量的工作。为什么呢?因为IIS提供了很多内置的支持功能,比如身份验证,状态管理和进程回收等。但在IIS下开发WCF服务仍然有一些限制,微软也正在解决这些问题。比如:必须通过配置才能解决在两个地方的身份认证服务,如果他们由于异常而没有同步,那么这个WCF服务就会停止运行。WCF4.5通过允许服务按IIS的方式来进行身份认证(设置身份认证的方式为“继承自宿主InheritedFromHost”)除掉了此类型的BUG

 

不幸的的是这只是一个局部修复,如果IIS激活了多个身份验证类型,那么客户端只会知道第一个。当然客户端开发人员会找到另一种方法解决这个问题:他们可以使用另一种类型重写这个身份验证类型。

 

在为基于HTTPS的服务构造URIs对象时,在WSDL信息中显示了一个BUG,在.net 4中WCF有自动选择端口的特性(针对各种类型的绑定,TCP,HTTP等)不幸的是,HTTPS在那是还没有被包括进来。在.NET4.5中这些疏忽将被纠正。Ido Flatow认为HTTPS 版本是在为主机名做广告而不是访问WSDL的宿主名(host name),这些可能将成为使用web form时的问题。

 

另一个bug是关于WCF传输流数据的,Ido Flatow:

当你把WCF服务寄宿在IIS上时,即使你没有使用asp.net兼容模式,你也一样会得到asp.net处理管线的一部分。可以在MSDN文档:WCF服务和ASP.NET(查找PostAuthenticateRequest Event部分)找到相关内容。在.Net 4中,ASP.NET里有一个设计缺陷,对WCF的请求会在ASP.NET中缓冲,这些缓冲行为会引起一些副作用

这不仅仅造成处理请求的延时,更严重的是,相当大的一部分内容溢出到硬盘上了。

在WCF 4.5中解决了这个问题。

时间: 2024-09-26 21:45:36

【翻译】WCF4.5:更少的配置和ASP.NET更好的支持的相关文章

【阿里云资讯】Sort Benchmark 2016 年排序竞赛结果: 100T 数据排序谁的花费更少?

开源中文社区,发布了一篇<CloudSort 夺冠,阿里云性价比高出 AWS 三倍>的内容,原文链接:https://linux.cn/article-7948-1.html. 原文如下: 2016 年 11 月 10 日,Sort Benchmark 在官方网站公布了 2016 年排序竞赛 CloudSort 项目的最终成绩.阿里云以$1.44/TB 的成绩获得 Indy(专用目的排序)和 Daytona(通用目的排序) 两个子项的世界冠军,打破了 AWS 在 2014 年保持的纪录 4.5

玩家之所以买的少,是因为他们想要的游戏更少

这个问题曾经多次以各种不同的形式提出过,而问题的答案也是五花八门.有的认为这是因为这些用户在这一年花了不少的钱来购买他们的新主机并藉此得到了不少的游戏.有的认为是因为现在市场上并没有了太多的游戏可以选择.还有的认为是因为已经发行的游戏中能够达到优秀游戏标准的并没有多少. 这些回答说得全都有道理,但是我却有另外一种观点:玩家之所以买的少,是因为他们想要的游戏更少. 现今的许多大作--比如<命运>(Destiny).<侠盗猎车手5>(Grand Theft Auto V)以及<我

写更好的代码,还是写更少的代码?

先来看一个有趣的讨论:    引用 我宁愿让我的学生尽他们最大的努力去写更好的代码,而不是写更好的注释.--Uncle Bob Martin(设计模式和敏捷开发先驱,<代码整洁之道>作者)  比起"更好"的代码,我更宁愿学生们写更少的代码.--Bob Marshall  没有任何事情比"非常有效率地做了一件本不应该做的事"更没用的了.--Peter Drucker 这引发了一场关于"写更好的代码"还是"写更少的代码"

微软披露Win8系统细节:资源占用比Win7更少

Windows 7 SP1的系统资源使用状况 Windows 8的系统资源使用状况 新浪科技讯 北京时间10月8日早间消息,微软最新的Windows 8操作系统将支持平板电脑和上网本,这意味着该系统能非常有效地利用内存.微软周五在官方的Building Windows 8博客上公布了该系统内存管理的细节. 有业内人士在低端的戴尔Inspiron E1505笔记本上测试了Windows 8系统,该笔记本采用1GB内存和英特尔T2400 1.83GHz处理器.与Windows 7相比,Windows

金融安全资讯精选 2017年第八期:Equifax数据泄露事件本周五个进展,企业用户如何使用SOC 2 报告来评估CSP安全性,Alert Logic发布云安全报告:云上发生安全事件数更少

   [金融安全动态] Equifax数据泄露事件本周五个进展.点击查看原文 点评:上周我们提到,Equifax泄露的信息包括用户社会安全码.驾照信息.生日信息.信用卡数据等.据SEC(U.S. Securities and Exchange Commission)的文件,三位Euifax董事已经售出了"一小部分"所持股票.和Equifax可能受到的处罚(链接).   从上周三到今天,Equifax事件有5个新披露的进展.   首先,CIO辞职.Equifax首席安全官员Susan M

const 和enum 谁效率更高,占用资源更少

问题描述 const 和enum 谁效率更高,占用资源更少 asp.net 中 const 和enum 谁效率更高,占用资源更少 解决方案 这个应该区别不大

OpenStack:更少的成本,更多的成效

两年一度的OpenStack峰会在OpenStack基金执行会主席Jonathan Bryce的讲话中拉开帷幕.他表示:"现在我们正处在一个转折点上,此时我们正在向第二代云转变."OpenStack正在领跑. 到底有哪几代呢?第一代出现的时候技术尚不成熟,还需要专家建筑师.工程师和开发人员的辅助.只有大型的技术公司诸如eBay和雅虎才有能力实施.第二代产品对小团队来说则很容易开发和管理.因此,小型公司可以节约更多的成本. 具体来说,OpenStack的OpenStack部署量同比增长了

于扬:中国企业的互联网化包袱更少

中介交易 SEO诊断 淘宝客 云主机 技术大厅 互联网化,是易观国际(Analysys International)在2007年最先提出的一种理念,是指企业利用互联网(包含移动互联网)平台和技术从事的内外部商务活动.互联网化包括产品互联网化(产品数字化.使用互联网交付).运营互联网化(信息.资金和物流的互联网承载和支持).营销互联网化(线上推广.线上销售).服务互联网化(在线交互.客户服务)四个方面.经过几年的发展,易观所提出的"互联网化"已经逐渐成为了业界公认的一个概念,被各大分析机

显示广告的改变:广告更少、投放效率更高

我们处于显示广告革命的风口浪尖.多年来,横幅广告一直有个既奇怪又令人紧张的定律:既使它们变得更加互动,更加令人难忘,但横幅广告的点击率却仍然在下降.再者,虽然据预测,媒体买家今年将支出70多亿美元用于购买横幅广告,但获得大部分市场份额的却是社交媒体. 这一切都意味着一场改革即将来临.问问谷歌的显示广告副总裁尼尔-莫汉(Neal Mohan)就知道了.在上周的"纽约互联网周"会议上,许多发言者都认为,显示广告将有令人难以置信的增长,以及令人难以置信的转变.他就是其中一位. 在美国互动广告