硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

市场要求 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:501287
用户头像

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

关注

评论

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

干货 | 数据为王,携程国际火车票的 ShardingSphere 之路

SphereEx

数据库 开源

遗留系统演进

Kubernetes 微服务 etcd 架构设计原则 演进式架构

微信业务架构

一叶知秋

架构实战营

JavaScript 有关数组的 slice 截断函数

HoneyMoose

带你入门antv.g6流程图

华为云开发者联盟

可视化 流程图 API graph 图可视化引擎

开源demo | 快速搭建在线自习室场景

anyRTC开发者

音视频 在线教育 视频直播 在线自习室

Linux之nc命令

入门小站

Linux

微信业务架构和学生管理系统架构设计

Geek_db27b5

微信业务架构 学生管理系统架构

IntelliJ IDEA 如何显示提交输入的信息历史

HoneyMoose

mock.js的作用

与风逐梦

大前端 后端 Mock

接口管理工具ApiPost使用——(响应结果可视化)

Proud lion

大前端 后端 Postman 开发工具 接口文档

百度地图开发-显示实时位置信息 04

Andy阿辉

android Android 小菜鸟 Android端 8月日更

netty系列之:在netty中使用protobuf协议

程序那些事

Java Netty 程序那些事

Rust从0到1-高级特性-Traits 进阶

rust Traits 高级特性

docker入门:vue和可视化界面的部署,另附ngxin配置

小鲍侃java

8月日更

面试侃集合 | SynchronousQueue公平模式篇

码农参上

队列 SynchronousQueue 8月日更

合约量化系统开发(炒币合约/机器人炒币App)

获客I3O6O643Z97

智能合约 量化机器人 合约量化

云小课 | 区块链关键技术之一:共识算法

华为云开发者联盟

区块链 区块链技术 共识机制 共识算法

在线JSON转YAML工具

入门小站

工具

5年程序员问我:什么是断言?

CodeNongXiaoW

测试 后端 接口工具

多云管理中的多租户解决方案

鲸品堂

多租户 多云管理 实践案例

华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有多大?

华为云数据库小助手

华为云 GaussDB GaussDB(for MySQL)

redis6安装和可视化工具

4ye

redis 后端 8月日更

InnoDB解决幻读的方案——LBCC&MVCC

阿Q说代码

MySQL innodb MVCC 8月日更 LBCC

Week1 Homework

Ray_c

#架构实战营

游戏“外挂”?—— AI生成游戏最强攻略

华为云开发者联盟

AI 游戏 华为云

面对不同的业务场景,选择零码还是低码?

华为云开发者联盟

开发者 低代码 零代码 AppCube 业务场景

微信业务架构图-外包学生管理系统架构

毛先生

架构实战营

从Docker到Kubernetes | 爱数云原生演进历程

爱数技术范儿

Kubernetes 云原生

sql task4 集合运算

橙橙橙橙汁丶

Vue进阶(六十四):iframe更改src后页面未刷新问题解决

No Silver Bullet

Vue iframe 跨域 8月日更

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