我们正在从使用ColdFusion编写的旧应用程序切换到ASP.Net Web窗体应用程序。一个要求是移过旧的Web服务。地址可以更改,但输入和响应的格式必须相同。我对Web服务比较陌生,但我知道.Net Web服务(可能还有其他)有SOAP和JSON输出格式。但这些都不可行。
我需要完全控制给出的响应。如果我使用.ASPX页面执行此操作,我只需将遗留的repose写入字符串,清除Response,然后将该字符串添加到Response并调用Response.End。
.ASMX有类似的东西吗?
是否有更智能的方法可以与ASP.Net Web应用程序的其他代码库集成?
答案 0 :(得分:1)
如果您只需要完整的响应控制,那么请跳过ASPX页面循环播放,然后查看使用.ASHX。它非常原始,可能就是你所需要的。
答案 1 :(得分:1)
您可以使用WCF实现普通的旧XML(POX)而不是SOAP。
WebHttpBinding是用于此的绑定。如果您的“完全控制”否定了将现有服务逆向工程为明确的WCF合同的可能性,那么您可以使用Stream to get complete control of the output。
答案 2 :(得分:0)
取决于您需要的格式 ASMX和WCF将生成真正的SOAP响应 如果我理解正确,你说“SOAP不可行”。如果您需要奇怪的格式,您当然可以按照ASPX页面描述的方式生成它。但编程模型不会那么好。
答案 3 :(得分:0)
您使用的是哪个版本的Visual Studio?如果您有Visual Studio 2008(SP1),则不应创建ASMX Web服务。微软现在认为该技术是“遗留的”,并不打算修复其中的任何漏洞。
相反,您应该创建一个WCF服务。您可以完全控制输出格式。