Web API和WPF客户端

Iva*_*ono 5 c# wpf asp.net-web-api

我按照以下文章建立了一个简单的Web API解决方案:http: //www.codeproject.com/Articles/350488/A-simple-POC-using-ASP-NET-Web-API-Entity-Framewor

我省略了Common项目,Log4Net和Castle Windsor,以使项目尽可能简单.

然后我创建了一个WPF项目.但是,现在我应该参考哪个项目来访问WebAPI和底层模型?

sch*_*ien 6

使用HttpWebRequest类向Web API发出请求.下面是我用来向其他一些宁静服务请求的快速示例(该服务仅允许POST/GET,而不是DELETE/PUT).

        HttpWebRequest request = WebRequest.Create(actionUrl) as HttpWebRequest; 
        request.ContentType = "application/json";

        if (postData.Length > 0)
        {
            request.Method = "POST"; // we have some post data, act as post request.

            // write post data to request stream, and dispose streamwriter afterwards.
            using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
            {
                writer.Write(postData);
                writer.Close();
            }
        }
        else
        {
            request.Method = "GET"; // no post data, act as get request.
            request.ContentLength = 0;
        }

        string responseData = string.Empty;

        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
        {
            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            {
                responseData = reader.ReadToEnd();
                reader.Close();
            }

            response.Close();
        }

        return responseData;
Run Code Online (Sandbox Code Playgroud)

还有一个名为"Microsoft ASP.NET Web API客户端库"的nuget包,可用于向WebAPI发出请求.有关该软件包的更多信息(http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client)