来自ASP.Net PageMethod Call的访问响应标头

使用ASP.Net Ajax调用PageMethods时,如何从“success”方法访问Http响应头?

例如:

PageMethods.DoSomething(
   function(result){successMethod(result)},function(error){errorMethod(error)}
);

function successMethod(result){
    //------how can I access the Http response headers from here? ------
}

谢谢你的帮助

解决方法

在您的示例中,如果是一个asp.net Web服务代理,PageMethods.DoSomething的返回值应该等于 WebRequest.提供此选项是为了您可以在启动请求后对其进行操作(即取消请求等).

使用此类,您可以使用add_completed方法,该方法可用于在Web请求完成时添加处理程序.回调的签名是函数OnWebRequestCompleted(executor,eventArgs),其中的executor参数使您可以获取额外的响应信息.例如,您可以使用executor.getAllResponseHeaders()获取响应头.它应该是标题名称和值的映射(命名集合).

因此,如果您在进行服务方法调用后立即向Web请求的已完成事件添加处理程序,它应该可以工作(世界上没有任何Web服务能够比连续两行代码响应更快!).

之前的WebRequest链接包含了如何连接它的完整示例.但请注意,此代码直接使用WebRequest.

Asp.Net Ajax Web Service代理类使用WebServiceProxy类,每个代理方法最终调用其invoke方法,该方法返回WebRequest实例.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....