Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Angular ASP.NET核心-为网页上的每个用户维护一个对象实例_Angular_Asp.net Core_Session_Web_Controller - Fatal编程技术网

Angular ASP.NET核心-为网页上的每个用户维护一个对象实例

Angular ASP.NET核心-为网页上的每个用户维护一个对象实例,angular,asp.net-core,session,web,controller,Angular,Asp.net Core,Session,Web,Controller,我目前正在为我工作的公司用ASP.NET Core创建一个演示网页。服务器维护一个贝叶斯网络模型,根据用户在客户端上的输入计算概率。重要的是,客户机上的每个用户都有自己的网络,其概率基于他们的输入 为了在整个请求中维护网络,我尝试将网络添加为作用域服务,认为它会为每个客户端创建一个实例。为此,我添加了services.addScoped(networkClass)并将其注入用户请求的我的控制器中。它显然不起作用。当我想得更多的时候,我也意识到我必须知道用户何时离开他的会话,这样我才能删除网络 我

我目前正在为我工作的公司用ASP.NET Core创建一个演示网页。服务器维护一个贝叶斯网络模型,根据用户在客户端上的输入计算概率。重要的是,客户机上的每个用户都有自己的网络,其概率基于他们的输入

为了在整个请求中维护网络,我尝试将网络添加为作用域服务,认为它会为每个客户端创建一个实例。为此,我添加了
services.addScoped(networkClass)并将其注入用户请求的我的控制器中。它显然不起作用。当我想得更多的时候,我也意识到我必须知道用户何时离开他的会话,这样我才能删除网络

我的问题是:如果我想让每个web用户/客户机在ASP.NET核心中使用MVC和Angular拥有自己的一个实例,比如数学网络,我会怎么做?我如何让它在整个用户会话中持续,然后在用户退出域时通知服务器,以便删除网络

抱歉,如果这是一个愚蠢的问题,我是一个相当新的网络开发,所以如果你有一些关于这个问题的文件,以及将不胜感激


谢谢

我建议您创建一个ASP.NET Web API(API Rest)并通过HTTP请求连接到Angular应用程序,而不是使用MVC将Angular与ASP.NET Core结合使用

在将来,如果您想更改Web应用程序(React技术的示例),您可以在不接触Web Api的情况下进行更改。反过来也是一样,如果您想为其他技术更改Web API(例如NodeJs服务器),您可以在不接触Angular Web应用程序的情况下进行更改

这里介绍了如何在Asp.net Core中创建Web API:


然后,如果您想学习如何创建Angular应用程序,我建议您遵循本教程或本课程:

我应该做的是创建一个SignalR Hub,然后每次用户连接到应用程序时,您都会创建一个新的network类实例,并将其存储在字典中,以users sessionid作为键价值通过这种方式,您可以轻松地控制它