Прямой доступ к данным - программирование
Подтвердить что ты не робот

Прямой доступ к данным

У меня есть действие в одном из моих контроллеров, который будет получать запросы HTTP POST из-за пределов моего веб-сайта MVC.

Все эти POST-запросы будут иметь одинаковые параметры, и мне нужно будет проанализировать параметры.

Как я могу получить доступ к пост-данным из действия?

Это потенциально очень простой вопрос!

Спасибо

4b9b3361

Ответ 1

Данные POST из ваших HTTP-запросов можно получить в Request.Form.

Ответ 2

string data = new System.IO.StreamReader(Request.InputStream).ReadToEnd(); 

Ответ 4

Я пытался получить доступ к данным POST после того, как был внутри контроллера MVC. InputStream уже разбирался с контроллером, поэтому мне нужно было reset положение InputStream в 0, чтобы прочитать его снова.

Этот код работал у меня...

 HttpContext.Current.Request.InputStream.Position = 0;
 var result = new System.IO.StreamReader(HttpContext.Current.Request.InputStream).ReadToEnd();

Ответ 5

Stream req = Request.InputStream;
            req.Seek(0, System.IO.SeekOrigin.Begin);
            string json = new StreamReader(req).ReadToEnd();

            JavaScriptSerializer serializer = new JavaScriptSerializer();
            dynamic items = serializer.Deserialize<object>(json);
            string id = items["id"];
            string image = items["image"];

///вы можете получить доступ к параметрам по имени или индексу

Ответ 6

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

Одно огромное предостережение - это если вы внедрили AntiForgeryValidation, из-за чего большая головная боль позволит публиковать внешнюю форму.