写点什么

市场要求 WCF 进一步完善其应用性

  • 2007-09-24
  • 本文字数:1139 字

    阅读完需:约 4 分钟

在.NET 3.0 的 4 项技术(WF、WCF、WPF、WCS)中,WCF 是最被国外同行所看好的技术,但应用中 WCF 却显得门槛有些太高,为了迎合开发市场的需要 WCF 在很多方面亟待进一步改善。

虽然开发社区对于.NET 2.0 加了 4 个“壳”就称之为.NET 3.0 已经颇有微词很久,但更多的抱怨是在.NET 3.0 走出神话、走入项目之后,其中 WCF 作为相对位置比较底层的新一代分布式组件技术成为抱怨的焦点。与 COM+、.NET Remoting、XML Web Service 推出时的情况相比,微软的商业宣传似乎分量更足,但实际提供的参考手册发示例相比明显“缺斤短两”。虽然在各种活动中,WCF 充分体现出很多优异表现(跨平台调用、隔离具体组件技术、充分利用各种 WS-* 协议、大幅降低编码量、几乎完全基于配置等),但相信您也注意到,与其他介绍不同,WCF 的介绍都会提前把很长的配置文件写好,介绍的时候讲师总是说“时间关系,下面我们导入一个之前配置好的文件”。

从项目实施人员的角度看,WCF 的主要问题其时不在于其 API 功能的丰富性,关键因素是使用它太麻烦:

  • 与 WF、WPF 相比,WCF 在 Visual Studio.NET 里的插件太过简单,绝大部分时间只能依靠配置文件的 XSD 给开发人员一些提示,在增加配置节、配置元素的时候可以有一些简单的 IntelliSense;
  • 虽然宣传文档里一直在说 WCF 的开发很多时候就是 ABC(Address、Binding 和 Contract)的开发,但 WCF 似乎“大包大揽”的内容太多,以至于 Windows Vista SDK 中提供的文档远远不能满足很多开发工作,尤其在国内 WCF 都快成为“阳春白雪”的情况下,很少能找到适合自己项目的精简但比较完整的示例;
  • 之前 ASP.NET、.NET Security 和.NET Remoting 的配置文件已经令很多开发人员和部署人员头疼不已,而 WCF 的配置文件 Schema 复杂程度很大程度上超越了他们三者的总和,加之各种 WS-* 标准升级过快,虽然 WCF 的 ABC 可以抽象分布式调用的逻辑部分,相对做到 Write Once,但部署到一个新环境中 WCF 的配置文件的调整确实是一个非常痛苦的经历,因为 WCF 是一个“外壳”,很多时候 CLR 提示的错误信息对定位配置错误没有多少帮助,项目规模稍大的时候,在不同环境调整 WCF 文件很可能成为 Crazy Anywhere 的经历;
  • 而且对于已经使用 WCF 的同行而言,Visual Studio 2008 也许意味着一个“新”体验的开始,因为从文件系统、队列到对象实体模型都作了较大的调整(尽管被命名为.NET 3.5),WCF 功能上增加了一揽子新特性,项目中的 WCF 作为分布式组件是否需要一同升级要好好斟酌一下。不仅如此,从发布的 Orcas 看,WCF 的配置文件愈发复杂了,但相应的工具并没有跟上;

即便有来自 J2EE 社区的压力,WCF 在求新、求统一的情况下,为了照顾到开发市场的需要,必须要让自己做到“易用”。照顾好开发人员,很大程度上也等于照顾好自己的利润。

2007-09-24 21:501368
用户头像

发布了 61 篇内容, 共 14.7 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起探索一下DefaultMQPushConsumer的实现原理及源码分析

码界西柚

RocketMQ 11月日更 Apache RocketMQ DefaultMQPushConsumer

一次谈不上有点内卷的美东某金融公司面试

HoneyMoose

dart系列之:在dart中使用数字和字符串

程序那些事

flutter dart 程序那些事 11月日更

搞定大厂算法面试之leetcode精讲4.贪心

全栈潇晨

LeetCode 算法面试

【死磕Java并发】-----J.U.C之AQS:CLH同步队列

chenssy

11月日更 死磕 Java 死磕 Java 并发

JavaScript 数组方法 splice() 的 3 个示例

devpoint

JavaScript splice 11月日更

在线数值列表求和工具

入门小站

工具

Android C++系列:Linux进程(三)

轻口味

c++ android jni 11月日更

Hibernate H2 数据库连接配置 URL 解读

HoneyMoose

SAP Cloud for Customer Extensibility的设计与实现

汪子熙

SAP abap C4C 11月日更

「Oracle」Oracle 数据库安装

恒生LIGHT云社区

数据库 oracle

spring的默认事务传播是什么?

卢卡多多

Spring Framework 事务传播行为 11月日更

有幸和美团大佬共同探讨单节点连接数超1.5W的问题

中间件兴趣圈

架构 微服务 11月日更

MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南

蒋川

MySQL MariaDB MySQL 数据库

填坑总结:python内存泄漏排查小技巧

华为云开发者联盟

Python 内存 内存泄漏 回收 全局变量

前端开发:数据处理方法分享(其一)

三掌柜

11月日更

IntelliJ IDEA 如何针对 Java 项目创建 H2 数据库连接

HoneyMoose

如何让 Sublime Text 编辑器支持新的 ABAP 关键字

汪子熙

SAP abap 11月日更 Sublime

筹备两年,60万字诚意续作《腾讯游戏开发精粹Ⅱ》正式发布

博文视点Broadview

关于HTTPS认证,这里解决你所有疑惑

华为云开发者联盟

https 证书 数据加密 认证 签发证书

linux之realpath命令

入门小站

Linux

美东某 IoT 公司技术流程第一轮沟通就挂了

HoneyMoose

Junit 4 的 @Before 和 @BeforeClass 对比 Junit 5 @BeforeEach 和 @BeforeAll

HoneyMoose

云原生社区上线了

云原生

开源 云原生 技术社区 社区

“愚公移山”的方法解atoi,自以为巧妙!

老表

Python LeetCode 11月日更 算法与数据结构

IoT 的概念、发展趋势与挑战

liuzhen007

11月日更

创建第一个微信小程序

坚果

微信小程序 11月日更

linux下prometheus+grafana安装

小鲍侃java

11月日更

吐司盒子?芝士码?HarmonyOS创新音视频测试技术来啦|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

Chrome 插件特性及实战场景案例分析

vivo互联网技术

大前端 插件设计 chrome扩展

分析一个错误使用MemoryCache导致的BUG

喵叔

11月日更

市场要求WCF进一步完善其应用性_.NET_王翔_InfoQ精选文章