.NET Web服务开发方法

时间:2008-10-01 10:25:41

标签: .net web-services

我打算为我的应用程序编写一个名为api的Web服务,它是用.Net和SQLServer开发的。 .Net提供了一种通过创建asmx文件来创建Web服务的简单方法。但我需要知道如何最好地设计它或者在.net中创建Web服务的最佳实践或者一些指向好文章的指针,因为这是我在Web服务编程中的第一次体验。虽然SF有许多关于API的最佳实践的参考(非常好)但我找不到很多面向.net webservices的信息。

更新:在dariom的回复之后,我想提一下,我在.net 2.0中这样做

4 个答案:

答案 0 :(得分:4)

要记住那里的所有最佳实践并不容易,但这是我的建议:

  • 避免使用不易序列化或与WS标准不兼容的数据类型(因此您将无法使用不同的语言来使用该服务)。最值得注意的是RecordSets和其他仅限MS的参考类型。
  • 请注意,静态Web服务(具有[webmethod]的静态方法)和非静态(memeber功能)之间存在差异。这可能会影响您的性能和资源使用情况。
  • 设计在Intranet内部运行的.NET Web服务和为Internet设计的Web服务之间存在差异。第二个应该更简单,因为连线上的XML数据应该小得多。
  • 我想web服务将部署在IIS服务器上。请注意,在Intranet和Internet上运行时,身份验证会有所不同。您可能需要使用模拟来使服务能够执行特定任务。

我想还有更多,更好地寻找一些讨论它的文档。

答案 1 :(得分:3)

我们首先从XSD架构开始开发Web服务(合同优先)。 我们还使用Thinktecture的WSCF - Web Services Contract First工具生成Web服务接口。在过去的两年里,它对我们很有用。

他们也很好地了解如何使用那里的工具。 http://www.thinktecture.com/resourcearchive/tools-and-software/wscf/wscf-walkthrough

答案 2 :(得分:0)

如果您使用的是.NET 3.0或更高版本,我建议您考虑使用WCF实现您的服务。

学习曲线更陡峭,但您将从flexibility and features that WCF offers中受益。使用WCF,您可以使您的服务与ASMX服务(常规.NET Web服务)兼容,因此其他应用程序和其他语言可以使用该服务,就像它是常规的.NET Web服务一样。

有很多资源可以帮助您入门。试试MSDNLearning WCFProgramming WCF Services

答案 3 :(得分:0)

这里有一本.NET ASMX Web服务设计模式的书:http://msdn.microsoft.com/en-us/library/ms978729.aspx

它描述了以下设计模式:

实体聚合 流程整合 门户集成 数据集成 功能整合 面向服务的集成 演示集成 消息代理 消息总线 发布/订阅 管道和过滤器 网关