Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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
C# Web应用程序控制器将项目添加到队列并在其他位置使用_C#_Asp.net_Asp.net Mvc_Asp.net Core_.net Core - Fatal编程技术网

C# Web应用程序控制器将项目添加到队列并在其他位置使用

C# Web应用程序控制器将项目添加到队列并在其他位置使用,c#,asp.net,asp.net-mvc,asp.net-core,.net-core,C#,Asp.net,Asp.net Mvc,Asp.net Core,.net Core,我的应用程序结构如下:webappmvc->Core DLL->Consumer DLL WebApp有一个带有Post方法的控制器,我希望在其中将一个项目添加到队列中。 此队列需要从使用者DLL部分使用(出列) 核心DLL-当前保存所有队列代码、存储库和业务代码 我遇到的问题是,我尝试使用并发队列,并将其作为一个单例。我的想法是尝试确保我只有一个队列实例,以便在同一个队列上使用Enqueue和Dequeue。这不管用。 似乎只要我使用Postmand并进行Post并到达控制器,就会创建一个新线

我的应用程序结构如下:webappmvc->Core DLL->Consumer DLL

WebApp有一个带有Post方法的控制器,我希望在其中将一个项目添加到队列中。 此队列需要从使用者DLL部分使用(出列)

核心DLL-当前保存所有队列代码、存储库和业务代码

我遇到的问题是,我尝试使用并发队列,并将其作为一个单例。我的想法是尝试确保我只有一个队列实例,以便在同一个队列上使用Enqueue和Dequeue。这不管用。 似乎只要我使用Postmand并进行Post并到达控制器,就会创建一个新线程,它将为我提供一个新队列,从而使使用者DLL读取一个完全不同的队列

谁能给我一个解决这个问题的方法,如果可能的话,举个例子


谢谢

首先,如果您添加一些问题的代码示例,那就太好了。如果您正确地将队列注册为单例,您就不会遇到为每个webapp请求使用不同队列对象的问题。如果没有榜样,你很难在任何地方指导自己。此外,还不清楚您如何向使用者dll提供队列实例。您是否实现了自己的队列?为什么不使用任何现有的排队解决方案?我将尝试添加一些代码,但同时。我现在正在使用BlockingCollection。您在这个问题中标记了太多框架-请选择正确的平台。您使用的是.NETCore还是.NETClassic?它们不一样。我用的是.Net内核