我们有一个ASP.NET MVC Web应用程序,这是要求:
用户应该能够将excel / csv文件导入系统,但必须一次导入一个(先进先出),但允许用户上传任意数量的文件,系统将处理所有文件并导入它们的加载顺序相同。
如何使用C#TPL和BlockingCollection来实现此功能? 我认为生产者/消费者模式可以用于使用BlockingCollection对文件进行排队,并通过使用者将文件出列。但是,生产者和消费者应该在哪里宣布和定义?这会在global.asax应用程序启动事件中吗?另一个要求是我们需要为每个客户端维护一个队列,因为它是一个多租户应用程序。