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

从经典ASP调用WCF服务

  •  1
  • Robert  · 技术社区  · 16 年前

    有没有人有从经典asp页面调用WCF服务的好例子?我看着

    Calling REST web services from a classic asp page [closed]

    2 回复  |  直到 8 年前
        1
  •  2
  •   John Saunders    16 年前

    最好的方法是在C#或VB.NET中创建一个类。此类将公开其公共方法作为COM对象。这个类所要做的就是调用web服务并返回结果。

    然后,您就可以使用经典ASP中的这个COM对象,它不知道它与21世纪有什么联系。

    顺便说一句,这是一种很好的方法,可以将VBSCRIPT中的功能重构到现代的.NET世界中,一次只处理一个COM对象。以后,如果您想将页面转换为ASP.NET(或十年后的后续版本),您至少要考虑到所有业务逻辑,ASP.NET将能够调用它。

        2
  •  1
  •   sanpaco    13 年前

    您还可以使用MSXML2.ServerXMLHTTP对象在asp中进行调用。下面是我调用其中一个服务并发送json负载的示例。

    <script language="javascript" runat="server" src="/engine/includes/json2.js"></script>
    
    <%
        DIM xmlhttp, response, objRequest, txtRequest, test
        DIM url : url = "https://myservice.com/Service.svc/json/Test"
    
        SET objRequest = JSON.parse("{}")
        objRequest.set "param1", "echo this text"
    
        set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
    
        xmlhttp.setOption 2, 13056   'ignore certificate errors for development machines
        xmlhttp.open "POST", url, false
        xmlhttp.setRequestHeader "Content-Type", "application/json"
        txtRequest = JSON.stringify(objRequest)
        xmlhttp.send txtRequest
        response = xmlhttp.responseText
        Response.Write response
    %>
    

    对于JSON解析,我使用DouglasCrockford的库- https://github.com/douglascrockford/JSON-js/blob/master/json2.js

    推荐文章