Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.net客户端-服务器POST和响应(不允许使用405方法)_C#_Asp.net_Post - Fatal编程技术网

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);
    }