写点什么

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

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

关注

评论

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

第一个spark应用开发详解(java版)

程序员欣宸

Java spark 8月月更

vue高频面试题合集(三)附答案

helloworld1024fd

Android进阶(十一)Android系统架构讲解

No Silver Bullet

android 系统架构 8月月更

用好JAVA中的函数式接口,轻松从通用代码中剥离掉业务定制逻辑

程序知音

Java 编程 程序员 后端

快的不止一点点!阿里强推的“Redis速成手册”也太香了吧

程序知音

Java 数据库 redis 程序员 后端技术

数据结构——栈

工程师日月

8月月更

Spring 全家桶之 Spring Data JPA(二)

小白

8月月更

架构实战营模块四作业

zhihai.tu

云原生事件驱动引擎(RocketMQ-EventBridge)应用场景与技术解析

阿里巴巴云原生

阿里云 RocketMQ 云原生

史上最全的Java并发系列之Java中的13个原子操作类

自然

多线程 并发 Java core 8月月更

史上最全的Java并发系列之Java中的并发工具类

自然

多线程 并发 8月月更

shell脚本之格式化输出

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

STM32入门开发 NEC红外线协议解码(超低成本无线传输方案)

DS小龙哥

8月月更

面试官怒了:多级缓存不了解怎么行,那可是数量级的提升?

知识浅谈

缓存 8月月更

真会玩!用手机吹气球你见过不?

岛上码农

flutter ios 前端 安卓开发 8月月更

浅谈营销型企业站文案应该如何写

石头IT视角

极狐GitLab冷知识:使用 Gitlab Webhook 触发 Pipeline

郭旭东

极狐GitLab JIHULAB 101

复盘:如何更好的进行技术面试

老张

面试

编译调试插件功能总结

乌龟哥哥

8月月更

C++运算符重载(四)之赋值运算符重载

CtrlX

c++ C# 后端 函数重载 8月月更

基于AQS实现自己的同步工具

自然

多线程 并发 8月月更

每日一R「04」常用的智能指针

Samson

8月月更 ​Rust

vue高频面试题合集(四)附答案

helloworld1024fd

Vue

slb与nat及eip的相关联

肖飞码字

负载均衡 NAT 弹性公网IP

RocketMQ顺序消息

急需上岸的小谢

8月月更

转转用例平台系列 - 脑图组件2.0

转转技术团队

测试开发 测试用例平台开发

估价器测试工具的实现

转转技术团队

测试工具

SRv6在5G移动网络中的部署方式

穿过生命散发芬芳

8月月更 SRv6

版本管理工具git的使用总结

TimeFriends

8月月更

Spring Cloud Sleuth简述

阿泽🧸

8月月更 Spring Cloud Sleuth

MYSQL最朴素的监控方式

京东科技开发者

MySQL 数据库 数据 监控数据

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