Windows Azure доступ к данным POST - PullRequest
3 голосов
/ 28 декабря 2010

Хорошо, я не могу найти достойных примеров Windows Azure.У меня есть простое приложение hello world, основанное на этом руководстве .Я хочу иметь пользовательский вывод вместо 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 Ответ

1 голос
/ 28 декабря 2010

Если у вас есть HttpContext, возможно, существует объект Request, который будет иметь данные формы.Я основываю часть этого на тэге ASP.Net на этом вопросе, поэтому, если это неверно, то, возможно, потребуется решить эту проблему иначе, но, на мой взгляд, это выглядит как веб-служба.


РЕДАКТИРОВАТЬ: HttpRequest это класс, который имеет свойство Form, которое должно быть, где хранятся данные POST, если это HTTP-запрос.Это часть System.Web, поэтому, насколько я помню, он должен быть готов к использованию довольно просто.


Пример кода , показывающий свойство Request.Form:

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 4: Сравнение шаблонов запроса / ответа и односторонних паттернов в параметре, так чтоваш метод "createSession" должен принимать те строки, которые будут отображаться.Я привык к миру ASP.Net, где есть несколько встроенных объектов, таких как запрос, ответ, сервер, приложение и сеанс.


Да, если вы попытались изменить сигнатуру метода, как тамспособы передать параметры в последнем примере, который я связал, хотя я не знаю, сработает ли это в вашем случае или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...