C#发布Web API

C#发布Web API,c#,post,C#,Post,我想用C#做一个HTTP Post请求,但我不知道怎么做。我在网上尝试了很多方法,但都有不同的错误 基本上,我想对该api执行post请求: http://localhost:57772/api/user/ 我可以在《邮递员》中使用: http://localhost:57772/api/user/?name=Paul 任何帮助都将不胜感激。这是我的密码 HttpClient client = new HttpClient(); var values = new Dictionary<

我想用C#做一个HTTP Post请求,但我不知道怎么做。我在网上尝试了很多方法,但都有不同的错误

基本上,我想对该api执行post请求:

http://localhost:57772/api/user/
我可以在《邮递员》中使用:

http://localhost:57772/api/user/?name=Paul
任何帮助都将不胜感激。这是我的密码

HttpClient client = new HttpClient();
var values = new Dictionary<string, string>
             {
                 { "name", $"{activity.From.Name}" },
             };
var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync("http://localhost:57772/api/user/", content);
HttpClient=newhttpclient();
var值=新字典
{
{“name”,$“{activity.From.name}”,
};
var内容=新的FormUrlEncodedContent(值);
var response=wait client.PostAsync(“http://localhost:57772/api/user/“,内容);
错误是:

405方法不允许

这是我的控制器:

    public IEnumerable<User> GetAllUsers()
    {
        return users;
    }

    public IHttpActionResult GetUsers(string name)
    {
        var user = users.FirstOrDefault((n) => n.name == name);
        if (user == null)
        {
            return NotFound();
        }
        return Ok(user);
    }

    public IHttpActionResult PostNewUser(string name)
    {
        if (!ModelState.IsValid)
            return BadRequest("Invalid data.");
        var user = new User { name = name, message = "Hello3" };

        var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
        context.Clients.All.broadcastMessage(name, "stop the chat");

        return Ok(user);
    }
}
public IEnumerable GetAllUsers()
{
返回用户;
}
公共IHttpActionResult GetUsers(字符串名称)
{
var user=users.FirstOrDefault((n)=>n.name==name);
if(user==null)
{
返回NotFound();
}
返回Ok(用户);
}
公共IHttpActionResult PostNewUser(字符串名称)
{
如果(!ModelState.IsValid)
返回错误请求(“无效数据”);
var user=新用户{name=name,message=“Hello3”};
var context=GlobalHost.ConnectionManager.GetHubContext();
context.Clients.All.broadcastMessage(名称,“停止聊天”);
返回Ok(用户);
}
}

我终于找到了这个问题的解决方案:

string url = "http://stopbyte.com"; // Just a sample url
WebClient wc = new WebClient();

wc.QueryString.Add("parameter1", "Hello world");
wc.QueryString.Add("parameter2", "www.stopbyte.com");
wc.QueryString.Add("parameter3", "parameter 3 value.");

var data = wc.UploadValues(url, "POST", wc.QueryString);

// data here is optional, in case we recieve any string data back from the POST request.
var responseString = UnicodeEncoding.UTF8.GetString(data);


感谢那些质疑我是否在使用POST或我是否能提供如此大的帮助的人,如果你已经在《邮递员》中做到了,问题是什么?您是在尝试发出POST请求还是接收POST请求?选择您找到的一些代码,进行尝试,发布您所做的事情和遇到的错误,然后我们将能够提供帮助。您需要添加更多详细信息。你遇到了什么错误?邮递员请求看起来像是GET而不是POST。我想使用c#@Sunil来完成它,只需添加详细信息。谢谢
string url = "http://stopbyte.com"; // Just a sample url
WebClient wc = new WebClient();

wc.QueryString.Add("parameter1", "Hello world");
wc.QueryString.Add("parameter2", "www.stopbyte.com");
wc.QueryString.Add("parameter3", "parameter 3 value.");

var data = wc.UploadValues(url, "POST", wc.QueryString);

// data here is optional, in case we recieve any string data back from the POST request.
var responseString = UnicodeEncoding.UTF8.GetString(data);