Windows Azure访问POST数据

时间:2010-12-28 04:34:36

标签: asp.net wcf post azure

好的,所以我似乎找不到合适的Windows Azure示例。我有一个简单的hello world应用程序,它基于this tutorial。我想要自定义输出而不是JSON或XML。所以我创建了我的界面:

[ServiceContract]
public interface IService
{
    [OperationContract]
    [WebInvoke(UriTemplate = "session/create", Method = "POST")]
    string createSession();
}

public class MyService : IService
{
    public string createSession()
    {
        // get access to POST data here: user, pass
        string sessionid = Session.Create(user, pass);
        return "sessionid=" + sessionid;
    }
}

对于我的生活,我似乎无法弄清楚如何访问POST数据。请帮忙。谢谢!

1 个答案:

答案 0 :(得分:1)

如果你有一个HttpContext,可能会有一个具有表单数据的Request对象。我在这个问题上基于ASP.Net标签的一部分,所以如果这是不正确的,那么可能需要处理另一种方式,但它看起来很像我的脑海中的Web服务。


编辑:HttpRequest是具有Form属性的类,如果这是HTTP请求,则该属性应该是POST数据的存储位置。这是System.Web的一部分,所以它应该可以很容易地使用,我记得。


显示Request.Form属性的

Sample code

int loop1;
NameValueCollection coll;

//Load Form variables into NameValueCollection variable.
coll=Request.Form;
// Get names of all forms into a string array.
String[] arr1 = coll.AllKeys;
for (loop1 = 0; loop1 < arr1.Length; loop1++) 
{
    Response.Write("Form: " + arr1[loop1] + "<br>");
}

这假设有一个HttpRequest实例。


WCF Simplified Part 4: Comparing the Request/Reply and One-Way Patterns传入一个参数,这样你的“createSession”方法就必须接收它出现的那些字符串。我已经习惯了ASP.Net世界,那里有一些内置对象,如Request,Response,Server,Application和Session。


是的,如果您确实尝试更改方法签名,因为在最后一个示例中我可以传递参数,但我不知道这是否适用于您的情况。