【发布时间】:2015-02-08 21:40:45
【问题描述】:
我正在尝试为 Windows 制作一个应用程序,它的作用类似于移动应用程序 (PhoneGap) 的服务器。这个应用程序就像服务器应用程序的远程,它调用轮到它们做事的方法。
经过长时间的搜索并尝试查看哪些组件可以协同工作,我找到了 OWIN 和 Web API。所以我试图在我的应用程序中实现它,但我似乎无法掌握如何发布字符串来调用方法。
我对过程的想法是,我将一个字符串发布到服务器,它读取该字符串并使用 switch 语句检查字符串的值,我知道要调用哪个方法。非常简单,直接(可能不是错误的证明),但这是一个开始。
但我似乎无法让它工作。这是我的控制器:
public void Post([FromBody]string value)
{
switch(value)
{
case("buttonOne"):
{
mainClass.pressButtonOne();
break;
}
}
}
我正在使用 HttpClient 在主机上模拟客户端:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:6740");
var content = "buttonOne";
var result = client.PostAsync("api/values", content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
Console.WriteLine(resultContent);
但这会出错,字符串不是有效的 HttpContent。但它总是要求一对而不是单。
【问题讨论】:
-
您没有正确传递内容。试试这个
var content = new FormUrlEncodedContent(new Dictionary<string, string> { {"value" , "buttonOne"} }) -
感谢伙伴,它的工作!
-
请将此问题标记为已回答。谢谢。
标签: c# post httpclient asp.net-web-api