如何处理排队的WCF Web服务请求
我需要将web服务请求排队,然后根据优先级和请求时间处理每个请求。然后将响应发送回 我想的方法如下 1创建一个web服务方法来提交请求和排队请求 2创建两个队列(高优先级请求和低优先级请求) 3创建一种处理方法,一次处理一个请求(如果存在高优先级队列,则首先将其出列),然后存储响应 4创建一个字典来存储相应请求的响应。 5创建web服务方法以获取响应 我正在考虑使用内存队列,因为我希望一次排队的请求数量很少 我遇到的问题在步骤3中。只要队列中有请求,我就希望processor方法持续运行 如何使用WCF web服务完成步骤3? 我正在使用.NET4.0环境。 我真的很感激任何想法或建议如何处理排队的WCF Web服务请求,wcf,Wcf,我需要将web服务请求排队,然后根据优先级和请求时间处理每个请求。然后将响应发送回 我想的方法如下 1创建一个web服务方法来提交请求和排队请求 2创建两个队列(高优先级请求和低优先级请求) 3创建一种处理方法,一次处理一个请求(如果存在高优先级队列,则首先将其出列),然后存储响应 4创建一个字典来存储相应请求的响应。 5创建web服务方法以获取响应 我正在考虑使用内存队列,因为我希望一次排队的请求数量很少 我遇到的问题在步骤3中。只要队列中有请求,我就希望processor方法持续运行 如何使
谢谢您是否用“简、肉、土豆”的方式对服务进行了编码,并对其进行了分析,以确定是否有必要对请求进行排队?排队过程中涉及到开销。最好进行一些测量,看看仅仅为请求提供服务是否足够
另一种方法是使用。这甚至是两者之间的紧密结合。其思想是,如果您确实需要一个队列,为什么不使用已经构建和测试的东西呢。我会创建我的服务契约,以明确操作将排队。比如:
[OperationContract]
string EnqueueRequest(int priority, RequestDetails details);
[OperationContract]
bool IsRequestComplete(string requestId);
我会让EnqueueRequest将每个请求放入MSMQ队列。我会让Windows服务处理队列中的请求。该服务将是唯一可以访问SDLC设备的进程。我之所以要使用队列,是因为请求的实际处理将由一次只处理一个请求的外部接口完成(它是指向IBM 3270 diplay的SDLC点对点链接)。我将看一看MSMQ和WCF集成。那可以解决我的问题。谢谢