【问题标题】:Asp.net Handler Sending DataAsp.net 处理程序发送数据
【发布时间】:2010-11-09 07:51:31
【问题描述】:

如何将数据发送到 asp.net ashx 处理程序?例如,如果我想向 asp.net 处理程序发送一些 xml,这怎么可能?

【问题讨论】:

    标签: asp.net xml web-services


    【解决方案1】:

    与其使用 HttpHandler,不如使用 Web 服务或 WCF 服务。但是,如果您愿意,可以将某些内容发布到处理程序并像这样捕获它:

    public void ProcessRequest (HttpContext context) {
        var xml = context.Request.Form["data"];
    }
    

    用于 POST 数据。对于 GET 数据,您可以使用:

    public void ProcessRequest (HttpContext context) {
        var xml = context.Request.QueryString["data"];
    }
    

    或者简单地说:

    public void ProcessRequest (HttpContext context) {
        var xml = context.Request["data"];
    }
    

    它将在内部循环获取数据的可能方式。

    【讨论】:

    • 如何使用 post 方法发送多个参数?
    【解决方案2】:

    AFAIK,处理程序处理 HTTP 请求,因此它们可以访问 HttpContext。因此,您调用像 'myhandler.ashx?parameter=value' 这样的处理程序,然后使用 HttpContext.Request.QueryString (context.Request.QueryString["parameter"]) 来查找值。

    同样,您可以 POST 数据到处理程序,将您的 XML 添加为 POST 变量,然后使用 context.Request.Form["myXmlData"]

    您可以从任何 html 页面调用处理程序:

    <body>
        <form method="POST" action="MyHandler.ashx">
            Paste your XML in this textarea:
            <textarea name="MyXmlData" id="MyXmlData" cols="80" rows="10"></textarea><br />
            <button type="submit" value="Call Handler"></button>
        </form>
    </body>
    

    【讨论】:

    • 问题是我试图从 Rails 应用程序调用处理程序。 rails 应用程序发送 xml 数据,由于返回类型,使用 webservices 毫无价值。收到 xml 数据后,我想在 asp.net 服务器端将其转换为 word 文档,然后回复文档。
    • 告诉我一些使用 asp.net 代码将数据发布到处理程序的示例,然后我可以将其转换为 Rails 代码。
    • 我已经解决了这个问题,但是如何使用 POST 发送多个值?
    • 向您的 html 添加额外的标签,例如额外的文本区域或使用 [input type="hidden"]。给他们每个人一个唯一的名字和id,你可以在你的处理程序中使用Request.Post[“uniqueId”]调用它们(当然,将“uniqueId”替换为html标签的唯一id)
    猜你喜欢
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2018-08-24
    • 2016-02-29
    • 2013-11-17
    • 2011-07-06
    相关资源
    最近更新 更多