C# 在Web服务上接收POST数据

C# 在Web服务上接收POST数据,c#,asp.net,web-services,httpwebrequest,http-post,C#,Asp.net,Web Services,Httpwebrequest,Http Post,我有一个网站,它应该接收来自web表单的数据。我无法访问网络表单的代码 我可以在web表单上输入应该发送数据的链接,它以字符串的形式将数据发送到我的网页。我应该接收它并将其存储在数据库中 我用一个空的公共web方法创建了一个web服务,在这里我可以接收数据。我已经尝试在我的网页上实现了几个可以访问数据的功能,但我似乎无法获得它。我尝试过HTTPListeners和HTTPWebRequests,但我不确定我是否正确使用了它 web服务中的代码 public class WebService :

我有一个网站,它应该接收来自web表单的数据。我无法访问网络表单的代码

我可以在web表单上输入应该发送数据的链接,它以字符串的形式将数据发送到我的网页。我应该接收它并将其存储在数据库中

我用一个空的公共web方法创建了一个web服务,在这里我可以接收数据。我已经尝试在我的网页上实现了几个可以访问数据的功能,但我似乎无法获得它。我尝试过HTTPListeners和HTTPWebRequests,但我不确定我是否正确使用了它

web服务中的代码

public class WebService : System.Web.Services.WebService
{
    public WebService()
    {

    }
[WebMethod]
public string getData()
{
    return "Hello World";
}
}
ASP.NET/Website中的代码

private const string URL = "http://localhost:80/WebService.asmx/getData/";
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
        request.Method = "GET";
        request.ContentType = "text/plain";

        WebResponse webResponse = (HttpWebResponse)request.GetResponse();
        Stream webStream = webResponse.GetResponseStream();
        StreamReader responseReader = new StreamReader(webStream);
        string response = responseReader.ReadToEnd();
        MessageBox.Show(response);                   //To display the received data
        // System.Diagnostics.Debug.WriteLine(response);
        responseReader.Close();

    }
}

我搜索了所有东西,尝试了所有可能的解决方案,但代码似乎不起作用。如果有人能帮上忙,我将不胜感激。

我建议查看HttpHandler,更具体地说,是该方法。您可以在方法中获取HttpContext,该方法应允许您访问正在发送的所有内容。如果HttpHandler是新的,这可能会有所帮助:

编辑:

实现IHttpHandler接口并创建ProcessRequest方法。从上下文中,您可以获取请求,在请求中是一个表单,该表单将formvariables作为NameValueCollection。更多信息是


谢谢你的回复。我尝试创建一个HttpHandler文件,并将数据定向到该链接。但我还是没有得到数据。“在方法中获取HttpContext”是什么意思?在我的新文件中,我使用了inputstream阅读器,但它不工作。你能指定我可以使用什么命令吗?
public class SomeHandler : IHttpHandler
{
  public void ProcessRequest(HttpContext context)
  {
    var request = context.Request;
    NameValueCollection formVariables = request.Form;
    //do something to process the collection
  }
}