Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading ASP立即发送响应,然后处理更多信息_Multithreading_Asp Classic_Response - Fatal编程技术网

Multithreading ASP立即发送响应,然后处理更多信息

Multithreading ASP立即发送响应,然后处理更多信息,multithreading,asp-classic,response,Multithreading,Asp Classic,Response,我正在创建一个web服务。客户端通过POST将XML格式的信息发送到返回URL。客户端应该只接收“Success”或“Fail”,这只是一个状态指示器,用于确认返回URL是否收到了POST消息 之后,返回URL(主机)将处理客户端发送的XML数据 我遇到的问题是,处理过程可能需要几分钟。我想立即发送状态消息,然后继续处理XML数据 关于如何解决这个问题有什么建议吗?您应该每隔一段时间(由您决定)轮询服务器一次,直到得到“已完成”的响应。将您的web服务设置为异步返回。如果您在.Net中执行此操作

我正在创建一个web服务。客户端通过POST将XML格式的信息发送到返回URL。客户端应该只接收“Success”或“Fail”,这只是一个状态指示器,用于确认返回URL是否收到了POST消息

之后,返回URL(主机)将处理客户端发送的XML数据

我遇到的问题是,处理过程可能需要几分钟。我想立即发送状态消息,然后继续处理XML数据


关于如何解决这个问题有什么建议吗?

您应该每隔一段时间(由您决定)轮询服务器一次,直到得到“已完成”的响应。

将您的web服务设置为异步返回。如果您在.Net中执行此操作,则会在web服务函数中添加一个参数

如果您是用Java创建的,这里有一些如何从Oracle创建的信息。我不太熟悉Java,所以我不确定它到底是如何完成的,但这里有一个关于它的文档


可能有几种方法可以做到这一点。首先想到的是将XML存储在数据库记录中,并将“成功”状态返回给客户机

设置一个进程,每隔几秒钟或几分钟运行一次,以检查数据库中的新记录,并对其进行处理,直到没有更多记录为止

我曾经用这种方式在ASP中实现了一个组文本服务。传入的SMS消息(如传入的XML文件)存储在数据库中。一个进程每隔一两分钟运行一次,查找新消息,并执行消息告诉他们的任何操作。如果该消息是向组发送新消息的命令,则这些传出消息将被放入另一个数据库,并定期运行另一个进程来发送这些消息。它将发送消息,直到达到运营商规定的每分钟可发送多少消息的限制,然后终止


这一切都是在经典ASP中完成的,服务器上运行着第三方调度程序。工作得很好。

不行。没有意义。客户不关心流程是否完成。它只需要主机确认它收到了XML数据。检查
Response.Flush()
是否有用