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

我需要完全控制给出的响应。如果我使用.ASPX页面执行此操作,我只需将遗留的repose写入字符串,清除Response,然后将该字符串添加到Response并调用Response.End。

.ASMX有类似的东西吗?

是否有更智能的方法可以与ASP.Net Web应用程序的其他代码库集成?

有帮助吗?

解决方案

如果您只需要完整的响应控制,那么请跳过ASPX页面循环播放,然后查看使用.ASHX。它非常原始,可能就是你所需要的。

其他提示

您可以使用WCF实现普通的旧XML(POX)而不是SOAP。

WebHttpBinding是用于此的绑定。如果您的“完全控制”否定将现有服务逆向工程为明确的WCF合同的可能性,然后您可以使用 Stream以完全控制输出

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top