我正在尝试为Windows创建一个类似于移动应用程序服务器(PhoneGap)的应用程序。这个应用程序就像是服务器应用程序的远程应用程序,它调用轮到他们做事的方法。
经过长时间的搜索并试图查看哪些组件可以一起工作,我找到了OWIN和Web API。所以我正在尝试将其实现到我的应用程序中,但我似乎无法掌握如何POST一个字符串来调用方法。
我对进程的想法是我将一个字符串POST到服务器,它读取它并使用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。但它总是要求一对而不是单身。
答案 0 :(得分:1)
发出POST请求时,帖子内容应为HttpContent类型或其衍生类型之一。
var content = new FormUrlEncodedContent(new Dictionary<string, string> {
{"value" , "buttonOne"} })