【问题标题】:Is this a valid way to create a web service and is it commonly accepted?这是创建 Web 服务的有效方式吗?它是否被普遍接受?
【发布时间】:2011-05-03 20:51:37
【问题描述】:

我最近从一个不再与我们在一起的开发人员那里继承了一个项目。我对 Web 开发还很陌生,我所做的有限服务工作涉及 WCF (.NET 4)。

该项目包括一系列服务调用,其中调用 .aspx 页面(通常带有参数)。的标记是这样的......

<%@ Page Language="C#" %>

<%
    // <!-- Get tasks -->

    // return as JSON string
    Response.Write(DataAccess.DataManager.DoStuff());

%>

所有繁重的工作和处理都在 DAL 中完成。 DAL 返回一个 int 或更常见的 JSON 字符串。 .aspx 页面将结果返回给调用者。

这是一个内部应用程序,所以我不太担心这种技术的安全性。我们正在使用 Windows 授权 (ADS)。调用者通常会(但不是针对所有调用)随请求发送密钥,并检查该密钥的授权。

这是一种可接受的创建 Web 服务的方式吗?技术叫什么?我想了解更多关于以这种方式修改/创建新服务的指南,因为这个项目需要一段时间的维护。

【问题讨论】:

  • 我对 .ashx 页面执行此操作,因为 .aspx 页面做了很多这类事情不需要的事情。但总的来说,这是一个很好的问题。
  • 另外,响应类型应该是 json 而不是 html,因为它是默认的

标签: asp.net web-services .net-4.0


【解决方案1】:

除非页面需要特定于页面的组件,否则建议您使用HTTP Handler 来执行此类任务。它们会更轻、更快。

【讨论】:

    【解决方案2】:

    这是实现网络服务的一种方式。对我来说看起来很老式。

    现在人们会将 WCF 用于 Web 服务 - 请参阅 hereRESTful WCF,here

    【讨论】:

      【解决方案3】:

      从某种意义上说,“任何有效的东西”都可以算作网络服务,因为消费者不应该有任何理由关心服务是如何实现的,只要它履行了合同。

      也就是说,这看起来像是一个习惯于使用 ASPX 页面的人设计的 hack,并且没有时间或进取心来学习使用专为此类事情设计的框架。我建议将其迁移到 WCF,它为 Web 服务提供了更多的灵活性。

      【讨论】:

        【解决方案4】:

        (Windows Communication Foundation) WCF 是您现在要查看的内容。

        基本上有两种格式 SOAP 和 RESTful 服务。

        RESTful 越来越普遍并且非常容易使用。它们也很容易在 .NET 4 中开发。

        http://blogs.msdn.com/b/endpoint/archive/2010/01/06/introducing-wcf-webhttp-services-in-net-4.aspx 是一个很棒的教程,其中包含从“文件 > 新建...”到在 .NET 4 中发布 RESTful 服务的示例。

        【讨论】:

          猜你喜欢
          • 2023-03-29
          • 1970-01-01
          • 1970-01-01
          • 2013-08-03
          • 2011-09-11
          • 1970-01-01
          • 2016-04-02
          • 2016-06-24
          • 1970-01-01
          相关资源
          最近更新 更多