从Windows服务接收数据并将其显示给MVC

从Windows服务接收数据并将其显示给MVC,windows,http,model-view-controller,service,Windows,Http,Model View Controller,Service,我是MVC的新手,我想听听一些建议来解决我的问题 情况: 我有一个返回列表的windows服务。此外,此windows服务还会打开http连接以共享结果 我想在MVC应用程序中显示列表。我通过MVC“点击”安装服务的服务器的IP和端口连接到Windows服务 问题 当我运行MVC应用程序时,列表的计数为0。 当我在MVC代码中放置一个断点以获取服务结果时,列表的计数是正确的 我试图设置任务延迟,因为我假设MVC需要一些时间进行http连接,但什么也没有发生 请回答两个问题 你认为问题是MVC没有

我是MVC的新手,我想听听一些建议来解决我的问题

情况: 我有一个返回列表的windows服务。此外,此windows服务还会打开http连接以共享结果

我想在MVC应用程序中显示列表。我通过MVC“点击”安装服务的服务器的IP和端口连接到Windows服务

问题 当我运行MVC应用程序时,列表的计数为0。 当我在MVC代码中放置一个断点以获取服务结果时,列表的计数是正确的

我试图设置任务延迟,因为我假设MVC需要一些时间进行http连接,但什么也没有发生

请回答两个问题

  • 你认为问题是MVC没有足够的时间响应,还是其他原因

  • 共享来自windows服务的数据是一种好策略,还是我需要创建一个web服务


  • tnx提前

    我在MVC上显示我服务的数据列表时遇到了同样的问题。我在我的服务中添加了一个。我创建了一个API控制器,它以JSON格式返回列表数据。我的代码如下所示:

    public class ListController : ApiController
    {
        // GET api/list
        public List<Object> Get()
        {
            return (myList);
        }
    }
    
    最后,我建议您向API添加授权,并使用SSL,以防止将API数据暴露给其他人

    // Create an HttpClient instance
    HttpClient client = new HttpClient();
    // add your url 
    client.BaseAddress = new Uri("http://localhost:8080/");
    //GET the response async from List Controller
    HttpResponseMessage response = client.GetAsync("api/list").Result;
    if (response.IsSuccessStatusCode)
    {
      var JsonList =response.Content.ReadAsStringAsync().Result;
      return View(JsonList);
    }