学习WCF编程的好项目是什么?

3

我希望我的学习项目也能有所用处。如果对我没有用,那就对身边的人有用。

有哪些好的项目可以使用WCF进行编码(以便学习),并且我可以将它们用于自己或我认识的某个组织或人?

我不感兴趣的是教程或关于如何学习它的书籍。

谢谢。


它必须对您或您的组织有用,这是一个严格的要求吗?它可以是某个开源项目中的小型独立实用程序吗? - Peter Mortensen
不是我的组织,但可能像YMCA、教堂或对某些人有用。我喜欢一箭双雕。我学习,有人从中获得了有用的工具。 - Alex Baranosky
@GordonG:谢谢。我已经发布了一条建议。 - Peter Mortensen
6个回答

4

-----推荐:
不想说,但我曾经试图用“一石二鸟”的方式完成。你会发现这太难了。你将花费无数的时间学习技术并犯下很多错误/教训。你可能最终会得到一个有用的应用程序......但它不会像你想象的那么“漂亮”,你最终会希望你能重写它。特别是如果你试图学习WCF,这项技术非常复杂......总之.....这里有一个应用程序:

-----应用程序
我做了一个WCF聊天应用程序。我创建了一个Web版本(轻客户端)和一个WPF版本(厚客户端)。通过制作聊天应用程序:

-----轻客户端Web应用程序
教你如何使用ajax与WCF协作
教你如何使用BasicHttpBinding
教你如何在IIS中托管WCF
教你如何处理多个用户时WCF的扩展性
教你“拉”式架构

-----厚客户端Winforms/WPF应用程序
教你如何在厚客户端中使用WCF(显然)
教你如何使用Duplex绑定
教你如何在Windows服务、控制台应用程序或IIS7中托管WCF应用程序
为你提供了在与厚客户端打交道时安全/防火墙要求的见解
教你“推”式架构
为你提供了处理OneWay调用时线程安全性的见解

-----如何让它有用
如果有一个“可插拔”的聊天应用程序,我可以将其放在我的网站上,那就太好了。你可以将其作为一项服务提供给其他开发人员。

-----书籍(即使你不想要)
入门书:
http://www.amazon.com/Learning-WCF-Hands-Michele-Bustamante/dp/0596101627

高级书:
http://www.amazon.com/Programming-WCF-Services-Juval-Lowy/dp/0596521308/ref=sr_1_1?ie=UTF8&qid=1253113250&sr=1-1-fkmr0


我也发现,如果我知道我会真正用到某个东西,那么制作它会更加令人愉快。即使这个“东西”非常简单,只要它有一定的用处,我就会更有动力去编写代码。 - Alex Baranosky

1
一个有用的项目是为MSQuant(开源项目)创建一个用户界面,用于编辑/创建定量模式和肽修饰的新定义。这些定义以XML格式存储,并提供了一个7-zip压缩的示例文件。该应用程序将读取这些定义并在编辑后再次写出。
这里是一个XML定义文件示例7-Zip'ped)。

0

这要看情况。最好的项目是那些与自己息息相关的。也许有当地的组织需要技术帮助,这将是WCF的一个很棒的应用。


0

虽然没有回答你的问题,但我强烈建议你查看由Juval Lowy领导的IDesign团队开发的许多示例应用程序http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=11。IDesign团队提供了大量的示例应用程序,并且比大多数人更了解WCF的内部工作原理。

祝你学习WCF好运,因为它涉及到很多内容。


0

那么,基于WCF的FTP服务器怎么样?

您可以通过Web服务公开服务器上的一个或多个目录,创建操作,例如:

  • 列出目录内容
  • 获取给定文件的所有详细信息
  • 上传文件
  • 下载文件

您可以使用常规端点进行列表/详细信息操作,了解如何处理上传和下载文件的流传输,并且您还可以使用REST(WCF:webHttpBinding)公开信息方法(列出内容和文件详细信息)。

Marc


我没有给你点踩,但我想知道是否有什么我可以做的更实用呢? - Alex Baranosky
抱歉给你点了踩。这是我的理由。WCF最重要的用途是基本上取代SOA倡议中的asmx Web服务。你建议的应用程序如果想学习如何将WCF与Biztalk集成(WCF是创建Biztalk适配器的主要机制),那么它将是完美的选择。此外,WCF的REST支持有些欠缺。在使用“restfully”之前,你会首先使用WCF“soapfully”。了解WCF如何与数据库交互总是一个好的观点(根据你的应用程序可能需要或不需要)。希望这可以帮到你。 - Amir
已经存在一个很棒的FTP实现...就是FTP协议本身;-) - Amir
@aikr473:当然 - FTP已经存在。我只是想象这可能是一个相当灵活、易于理解的项目,可以展示WCF中各种功能的许多不同特性(缓冲与流式消息传输、REST等)。 - marc_s

0

任何涉及到进程间通信的项目都很好,尤其是当有多个载体时会更好。例如,从在一台机器上使用命名管道进行进程间通信开始,然后逐步升级到同一网络上的两个客户端之间的TCP通信,再进一步升级到更复杂的传输方式。

一些很棒的想法包括:

  • 任何客户端/服务器应用程序(聊天应用程序已经在这里提到了)
  • 远程执行某些任务的程序(如服务器监视器/指挥官)
  • 缓存管理(允许Web Farm中的几个服务器相互协调,以确定它们如何管理自己的Web缓存,刷新一个服务器上的缓存条目并发送消息,以便在所有服务器上进行刷新等)
  • 与服务器通信的Silverlight应用程序,如基于浏览器的游戏

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接