Calling REST web services from a classic asp page我想开始将我们的应用程序业务层移动到REST Web服务的集合中。 但是,我们的大多数Intranet都是使用Classic ASP构建的,而我工作的大多数开发人员都使用Classic ASP进行编程。 因此,理想情况下,要使他们受益于一组独特的Web API的优点,必须从Classic ASP页面中调用它。 我丝毫不知道该怎么做。 您可以结合使用JQuery和JSON调用来从客户端使用REST服务 要么 如果您需要与ASP层的REST服务进行交互,则可以使用 MSXML2.ServerXMLHTTP 喜欢:
@KP
您实际上应该在ASP /服务器端应用程序中使用 请参阅http://support.microsoft.com/kb/290761,问题3、4和5,以及 http://support.microsoft.com/kb/238425/。 这非常重要,否则您将体验到Web应用程序挂起以及各种奇怪的废话。 以下是一些文章,描述了如何从类ASP页面调用Web服务:
此处提供的许多答案似乎都涵盖了ClassicASP如何用于消费Web服务和REST调用。 我认为,您的ClassicASP可以使用一种更整洁的解决方案,使其仅以REST格式提供数据。如果可能,让基于浏览器的客户端代码处理" mashup"。您应该能够在不合并任何其他ASP组件的情况下执行此操作。 因此,这是我如何在ClassicASP中模拟闪亮的新REST支持: 您将受益于支持类,该支持类对JSON中的表单数据进行解码/编码,因为这将简化您的客户端实现(并可能简化传递的数据量)。请参阅此处的对话。在Classic ASP中,有没有很好的用于解析JSON的库? 最后,在客户端,提供一种采用动词,网址和数据有效载荷的方法。在短期内,该方法将整理参数并将其转发到您的着陆区。从长远来看(一旦您退出经典ASP),您的方法可以将数据发送到"真实" URL。 祝好运... 另一个可能的解决方案是编写一个.NET DLL来进行调用并返回结果(也许包装RESTSharp之类的东西-给它一个根据您的需求定制的简单API)。然后,将DLL注册为COM DLL,并通过CreateObject方法在ASP代码中使用它。 我已经完成了一些工作,例如创建签名的JWT,添加盐值和哈希密码。它运行良好(当您疯狂地重写ASP时)。 另一种可能性是使用WinHttpRequest COM对象使用WinHttp COM对象。 WinHttp旨在从服务器代码中使用。 您需要的只是一个HTTP客户端。在.Net中,WebRequest效果很好。对于经典ASP,您将需要一个像这样的特定组件。 |