首页 > 解决方案 > 我应该将信息存储在 Web Api 2 控制器的什么位置?

问题描述

我使用 WPF 编写了一个应用程序,我想使用 HTML + JS 来简单地呈现一些信息。所以,这个想法很简单——向 Web Api 发送 POST 请求,使其存储数据(如全局变量),并通过 GET 请求从 API 获取数据。还有问题。当我将数据发布到 WebApi 控制器并将其保存在我的全局变量中,然后尝试使用 GET 请求从那里获取它时,除了使用 POST 请求编辑之前的值(我的意思是 QuestionList 保持等于空列表)之外,我什么也得不到。在将信息发送到网页之前,我应该如何存储信息?还是有一些更简单的方法来使用 html 在 WPF 应用程序中呈现信息?

您可以在下面找到我在 WPF 应用程序中使用的 ApiController 代码和我的类的代码。

感谢您的关注。

namespace WebApp.Controllers
{
    public class WebFormsController : ApiController
    {
        private List<RegisterQuestion> QuestionsList = new List<RegisterQuestion>();
        // POST: api/WebForms
        public string PostQuestions(List<RegisterQuestion> questions)
        {
            QuestionsList = questions;
            return "OK";
        } 
        public string GetQuestions()
        {
            string json = JsonConvert.SerializeObject(QuestionsList);
            return json;
            //QuestionsList = questions;
        }

    }
}

和其他类

public class WebWorking 
{
    private static string APP_PATH = "http://localhost:60327";
    static HttpClient client;
    //TODO: rename
    public WebWorking()
    {
        client = new HttpClient();

        client.BaseAddress = new Uri(APP_PATH);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    }

    public async Task<string> PostQuestionListToAPIAsync(List<RegisterQuestion> questions)
    {
        HttpResponseMessage response = await client.PostAsJsonAsync("/api/WebForms/PostQuestions", questions);
        return "Posted";
    }
}

标签: asp.netwpfwebasp.net-web-api

解决方案


推荐阅读