Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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 API项目列表?_C#_.net_Visual Studio_Ide - Fatal编程技术网

C# 如何从同一解决方案中的另一个项目访问Web API项目列表?

C# 如何从同一解决方案中的另一个项目访问Web API项目列表?,c#,.net,visual-studio,ide,C#,.net,Visual Studio,Ide,抱歉,我不熟悉Web API。请允许我提供一点背景资料。我有一个包含三个项目的解决方案:带有SQL实体框架的存储库、控制台应用程序和MVC Web API。我的存储库查询SQL,将数据提供给console应用程序,后者从原始SQL数据输出计算列表。我现在希望能够通过Web API将该列表推送到本地主机。我使用Web API将数据从测试存储库推送到localhost浏览器,其中包含一个测试数据数组。这个数据没有计算出来,我只是创建了一个静态数组,看看是否可以提取任何数据,它工作得很好。但是,当我试

抱歉,我不熟悉Web API。请允许我提供一点背景资料。我有一个包含三个项目的解决方案:带有SQL实体框架的存储库、控制台应用程序和MVC Web API。我的存储库查询SQL,将数据提供给console应用程序,后者从原始SQL数据输出计算列表。我现在希望能够通过Web API将该列表推送到本地主机。我使用Web API将数据从测试存储库推送到localhost浏览器,其中包含一个测试数据数组。这个数据没有计算出来,我只是创建了一个静态数组,看看是否可以提取任何数据,它工作得很好。但是,当我试图从控制台应用程序获取输出列表并将其输入到我的测试存储库中,然后向上推送数据时,数据不会被推送。我使输出列表在整个程序集中都可用,因此我可以从Web API访问控制台应用程序列表

有什么想法吗


谢谢

我觉得你需要重新调整一下你的项目。我建议重构代码,使项目如下所示:

存储库项目:它将与您的数据库通信,并负责从数据库中检索数据。 应用程序项目:它引用您的存储库项目,并执行当前在控制台应用程序中执行的计算。 控制台应用程序项目:这是您的控制台应用程序代码。它引用您的应用程序项目,只从应用程序项目请求计算结果,然后将结果输出到控制台。 MVC WebAPI项目:这也只是引用您的应用程序项目。WebAPI web服务调用将从应用程序项目请求计算结果,然后将其返回给调用方。
这将使您更容易管理。此外,您还可以轻松地对执行计算的应用程序项目类方法进行单元测试

多谢各位。我怀疑我需要重构整个解决方案,但我对web应用太陌生了,不知道如何继续。还有一个问题-此设置是否适用于每隔几秒钟更新一次的SQL数据库,以及通过WebAPI输出实时计算数据。我创建这个项目的最终目标是我可以发送一个URL,它将不断显示基于实时更新SQL数据库的更新计算。该URL将被发送到我的工作人员以监视live.com。如果您试图经常使用实时数据更新用户界面,那么有两种选择:轮询web服务或WebSockets框架,该框架保持与客户端的连接处于打开状态,并可以根据需要推送数据。因为您已经在使用.NET,所以WebSockets框架可能是signer。轮询web服务比较简单,但扩展性较差。如果您只有几个用户,而这需要快速而肮脏地完成,那么可以对您的web服务使用轮询。否则,请看信号器。感谢您的帮助。