代码之家  ›  专栏  ›  技术社区  ›  Jared

如何控制ASP.NET Web服务中的输出格式

  •  0
  • Jared  · 技术社区  · 15 年前

    我们将从用ColdFusion编写的旧应用程序转换为ASP.NET Web窗体应用程序。一个要求是转移到旧的Web服务上。地址可以更改,但输入和响应的格式必须相同。我对Web服务比较陌生,但我知道.NET Web服务(可能还有其他服务)有SOAP和JSON输出格式。但这两种方法都不可行。

    我需要完全控制给出的答复。如果我使用一个.aspx页面,我只需将旧的reposie写入一个字符串,清除响应,然后将该字符串添加到响应并调用response.end。

    有类似于.asmx的东西吗?

    有没有一种更聪明的方法可以做到这一点,并且仍然能够与其他ASP.NET Web应用程序的代码库集成?

    4 回复  |  直到 15 年前
        1
  •  1
  •   Brandon    15 年前

    如果您只需要完整的响应控制,那么跳过ASPX页面周期戏剧,转而研究使用.ashx。它相当生,可能是你需要的。

        2
  •  1
  •   Randy Levy    15 年前

    您可以使用wcf来实现普通的旧XML(pox),而不是SOAP。

    webhttpbinding是用于此的绑定。如果您的“完全控制”否定了将现有服务反向工程到显式WCF契约中的可能性,那么您可以使用 Stream to get complete control of the output .

        3
  •  0
  •   Cheeso    15 年前

    取决于您需要的格式。
    ASMX和WCF将生成真正的SOAP响应。
    如果我理解正确,你说“肥皂不可行”。如果您需要一个奇怪的格式,您当然可以用ASPX页面描述的方式生成它。不过,编程模型不会那么好。

        4
  •  0
  •   John Saunders    15 年前

    您使用的是什么版本的Visual Studio?如果您有Visual Studio 2008(SP1),则不应创建ASMX Web服务。微软现在认为这项技术是“遗留的”,并不打算修复其中的任何错误。

    相反,您应该创建一个WCF服务。您可以完全控制输出格式。