以不同于GET的方式处理POST

Kfi*_*ods 2 c# asp.net post json handler

我目前在我的C#处理程序(.ashx)中使用context.Request.QueryString,因为到目前为止我只需要处理GET帖子.

如果我通过POST方法发送了一个JSON对象怎么办?我知道我应该反序列化发送的内容,但我的观点是 - 我怎么知道发送源是发送POST还是GET.

为什么?因为我想将处理程序拆分为POST相关函数(通常需要安全性的东西)和更原始的GET相关函数(检索公共信息等)

如果重要,我的代码现在看起来像这样(并且它还没有准备好正确处理POST).

public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "application/json";
    JavaScriptSerializer jss = new JavaScriptSerializer();

    // Wanna know POST was used here, so I can deserialize the sent JSON data
    // ----

    // Handling GET here, good and working
    if (context.Request.QueryString["aname"] != null
        && context.Request.QueryString["type"] != null)
    {
         string adminName = context.Request.QueryString["aname"];
         if(adminName == "test") { // Return some JSON object }
    }
}
Run Code Online (Sandbox Code Playgroud)

Cri*_*scu 5

您可以访问context.Request,因此您可以简单地使用其HttpMethod属性来确定它是POST,GET还是其他内容.