记录对Web服务的所有请求?

时间:2015-06-24 15:43:23

标签: c# asp.net-mvc web global

我构建了一个Web服务,它接收来自SITE1的请求,然后将值插入SITE2。我们遇到了一个问题,偶尔SITE1会在很短的时间内(30秒--5分钟)内发送两次请求。如果初始请求足够快地完成,我有安全防护措施,可防止输入重复记录。但是,如果第二个请求在第一个请求完成之前进入,则Web服务会同时完成两个请求。

我需要弄清楚是否有办法存储全局临时请求列表,以便我可以在插入值之前与此列表进行比较。

我的网络服务操作非常简单,很简单http://url.com/Tool?ID=123434。我需要做的就是将传入的ID存储在全局列表中,直到请求成功完成。

我可以选择哪些选项?

1 个答案:

答案 0 :(得分:0)

我不知道,全局静态变量在整个Web应用程序和所有连接中都是全局变量。它就像下面那样简单。

public static class GlobalVariables
{
    public static List<long> TicketsInQueue { get; set; }
}

在应用程序启动时,变量已初始化(应用程序启动,而不是URL请求)。一旦请求进入,就会查询该列表是否包含给定的ID,如果没有,则将该值添加到列表中。如果它确实存在,则只需记录并丢弃该请求。