【问题标题】:.NET Webservices development approach.NET Web 服务开发方法
【发布时间】:2008-10-01 10:25:40
【问题描述】:

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

更新:在 dariom 的回复之后,我想提一下我在 .net 2.0 中进行操作

【问题讨论】:

    标签: .net web-services


    【解决方案1】:

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

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

    我想还有更多,最好查找一些讨论该问题的文档。

    【讨论】:

    • KISS - 保持简单愚蠢 这确实适用于 Web 服务。 1. 有一个客户气喘吁吁地等待结果。 2.有多个客户想要调用你的gem称为代码。
    【解决方案2】:

    我们首先从 XSD 模式(合同优先)开始开发 Web 服务。 我们还使用 Thinktecture 的 WSCF - Web Services Contract First 工具来生成 Web 服务接口。在过去的 2 年里,它对我们非常有效。

    他们还很好地介绍了如何使用该工具。 http://www.thinktecture.com/resourcearchive/tools-and-software/wscf/wscf-walkthrough

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • @dariom:我很乐意,但我坚持使用 .net 2.0
      【解决方案4】:

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

      它描述了以下设计模式:

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

      【讨论】:

        猜你喜欢
        • 2016-04-12
        • 2015-03-10
        • 1970-01-01
        • 2017-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多