C# Asp.net客户端-服务器POST和响应(不允许使用405方法)
为什么我的服务器不向客户端返回与他发送的相同的值C# Asp.net客户端-服务器POST和响应(不允许使用405方法),c#,asp.net,post,C#,Asp.net,Post,为什么我的服务器不向客户端返回与他发送的相同的值 在服务器上,我的ApicController如下所示: public void Post(byte[] value) { Request.CreateResponse<byte[]>(HttpStatusCode.OK, value); } 错误消息: 远程服务器返回错误:(405)方法不允许 我刚开始学习ASP.net。我正在努力让它工作几个小时,哈哈。 我试着按照教程介绍产品和其他东西,但都不一样
在服务器上,我的ApicController如下所示:
public void Post(byte[] value)
{
Request.CreateResponse<byte[]>(HttpStatusCode.OK, value);
}
错误消息:
远程服务器返回错误:(405)方法不允许
我刚开始学习ASP.net。我正在努力让它工作几个小时,哈哈。
我试着按照教程介绍产品和其他东西,但都不一样。 编辑: 我甚至试过这个东西,上面写着: 操作的返回值将转换为 HttpResponseMessage 如果返回类型为HttpResponseMessage,则传递(作为对客户端的响应)
什么都不管用。你可能遗漏了什么 有关更多想法,请参阅此链接 试一试
[System.Web.Services.WebMethod]
公共作废Post(字节[]值)
{
CreateResponse(HttpStatusCode.OK,值);
}
您是否需要获得授权才能执行该控制器的操作?您是否尝试过通过查看您的请求?@Jonesy没有,这只是后客户端-服务器数据交换。每当客户机发布服务器时,它都会将相同的数据返回给他。我不知道如何做出回应。我认为当客户端发布服务器时,服务器可以向他发布响应。不能吗?我试过:publicHttpResponseMessagePost(byte[]value){var msg=new-HttpResponseMessage();msg.Content=new-ByteArrayContent(value);return msg;}
就像他们说的那样,它仍然不起作用……仍然不起作用,405方法不允许。我不知道,在谷歌搜索过。你有没有在我提供的链接中尝试一个简单的hello world示例,看看它是否有效?实际上,有一个jquery,我不需要这个。我甚至不想让浏览器访问服务器。只需简单地从客户端发帖,从服务器回复即可。
using (var client = new WebClient())
{
byte[] value = { 16, 32 };
client.UploadDataCompleted += delegate
{
Debug.WriteLine(Encoding.Default.GetString(response));
};
response = client.UploadData("http://localhost:52117/", value);
}
public HttpResponseMessage Post(byte[] value)
{
var msg = new HttpResponseMessage();
msg.Content = new ByteArrayContent(value);
return msg;
}
[System.Web.Services.WebMethod]
public void Post(byte[] value)
{
Request.CreateResponse<byte[]>(HttpStatusCode.OK, value);
}