9933 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,964
Записей в блоге: 216

Как получить ответ от ASP.NET на POST запрос?

21.01.2016, 21:25. Показов 5976. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет,

Ситуация такая. Я делаю небольшую игру на Unity - клон игры Lines. Мне хочется сделать базу данных на ASP.NET SQLite, чтобы там хранить общую таблицу рекордов в формате: Name, Score, Date А из игры посылать POST запросы на сохранение данных и запросы на получение данных из удалённой базы данных на ASP.NET SQLite.

Из своего приложения на Unity я могу отправлять POST запрос. Если сделать POST запрос на сервер на PHP, то работает нормально, то есть PHP сервер мне отвечает, если написать такой скрипт:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
<?php
 
if (!empty($_POST["str"]))
{
    $str = $_POST["str"];
    echo "Ok, we get: ".$str;
}
else
{
   echo "Error: cannot get str";
}
Можно ли на ASP.NET написать ответ на POST запрос в виде "Hello World"?

Добавлено через 21 минуту
У меня была попытка сделать просто Response.Write, но в моё сторонее приложение от сервера ничего не приходит:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Respons.aspx.cs" Inherits="ScoresWeb.Respons" %>
 
<!DOCTYPE html>
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <% Response.Write("Hello from aspx"); %>
    </div>
    </form>
</body>
</html>
Изучаю совсем недавно, поэтому не знаю как обрабатывать POST запросы. Может на ASP невозможно обратиться к скрипту не загрузив страницу, как это можно сделать на PHP?

Добавлено через 40 минут
Я решил проблему! Оказалось просто:

C#
1
2
3
4
5
        protected void Page_Load(object sender, EventArgs e)
        {
            string name = Request.Form["name"];
            Response.Write("Hello " + name);
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2016, 21:25
Ответы с готовыми решениями:

Как сделать GET и POST запрос и получить ответ
Каким образом можно сделать запрос (get и post) и получить данные (xml-страничка) при создании приложения для WP 8.1?

Post запрос получить ответ
Здравствуйте! Имеется POST-запрос, в браузере я получаю ответный Content-Lenght=36, в ответе Json success=true. в программе же я...

Получить json в ответ на POST запрос
Никак не могу добиться получения json с помощью вывода его через echo в PHP скрипте. Если перенаправлять запрос на файл .json, то всё...

8
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
23.01.2016, 11:37
Лучший ответ Сообщение было отмечено 8Observer8 как решение

Решение

1. SqlLite не лучший выбор в связке с веб.приложением , в частности нет возможности асинхронной записи.
2. Если требуется только отправлять и получать данные , то aspx тут очевидно лишний , ибо представление никак не используется , в твоем случае нужно использовать веб.сервис , как вариант , на базе rest api.

З.Ы Написал просто для справки , лучше сразу делать правильно ).
1
9933 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,964
Записей в блоге: 216
23.01.2016, 11:56  [ТС]
Цитата Сообщение от sau Посмотреть сообщение
ибо представление никак не используется
Что такое представление? Просто я недавно начал изучать создание Web приложений на ASP

Добавлено через 57 секунд
Цитата Сообщение от sau Посмотреть сообщение
Если требуется только отправлять и получать данные , то aspx тут очевидно лишний
Мне нужно принимать данные, сохранять в базу данных и по требованию выдавать. А что лучше выбрать?

Добавлено через 5 минут
Цитата Сообщение от sau Посмотреть сообщение
в частности нет возможности асинхронной записи
Поясните, пожалуйста, в каком случае я могу столкнуться с проблемой и как она себя проявит?

Добавлено через 3 минуты
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Мне нужно принимать данные, сохранять в базу данных и по требованию выдавать. А что лучше выбрать?
Цитата Сообщение от sau Посмотреть сообщение
нужно использовать веб.сервис , как вариант , на базе rest api.
А вот же. Ну можно было ещё PHP и MySQL. Хорошо, я может посмотрю что за зверь.

Добавлено через 7 минут
Цитата Сообщение от sau Посмотреть сообщение
то aspx тут очевидно лишний , ибо представление никак не используется
Представление - это вывод на экран? В моём случае, web приложение будет отображать на сайте таблицу рекордов. Поэтому же не лишний?
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
23.01.2016, 12:03
Лучший ответ Сообщение было отмечено 8Observer8 как решение

Решение

Цитата Сообщение от 8Observer8 Посмотреть сообщение
Что такое представление? Просто я недавно начал изучать создание Web приложений на ASP
- представление данных , в частности html разметка , собственно для этих целей aspx обработчик и задуман , при обращении к которому , происходит куча лишних операций , парсинг тэгов , обработка жизненного цикла , создается класс страницы и т.п. Есть более легковесные варианты , например ashx обработчики , но опять же , они не очень подходят для структурированной передачи данных. Правильней и удобнее в подобных сценариях использовать веб.сервисы , есть куча разных технологий работающих с разным транспортом и разными форматами передачи данных , которыми не буду грузить , но, один из самых простых вариантов работающих по http протоколу - rest сервисы , когда в простом формате можно получить и запросить данные. В рамках asp net технологии есть соответствующая имплементация
http://www.asp.net/web-api/ove... st-web-api
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Мне нужно принимать данные, сохранять в базу данных и по требованию выдавать. А что лучше выбрать?
Если цель просто хранить локальные данные , то для этого веб.сервис не нужен , можно просто хранить данные в XML формате с сериализацией/десериализацией обьектов , ну или , SqlCompact - мини БД для локальных нужд раз уж работаете на технологиях от MS , А вообще , если допустим все же веб.сервис , то он предполагает работу с множеством юзерей и ,соответственно , понадобится многопоточная поддержка доступа к данным , тут уже локальные БД не годятся, нужно что то посерьезнее , опять таки продукт от MS - MSSQL SERVER , в целом , к серверу БД можно подключится напрямую , без всяких там веб.сервисов , это уже вопрос архитектуры.

Добавлено через 2 минуты
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Представление - это вывод на экран? В моём случае, web приложение будет отображать на сайте таблицу рекордов. Поэтому же не лишний?
Веб приложение может содержать в себе различные точки доступа , как веб.сервис , так и различные представления. Важно просто правильно этим пользоваться . понятное дело что можно и через aspx запрашивать данные , но оно для других целей - вот ежели отобразить таблицу рекордов , там да , но ее будет запрашивать пользователь через браузер , это не одно и тоже.
1
9933 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,964
Записей в блоге: 216
23.01.2016, 12:22  [ТС]
sau, спасибо большое. Я понял, что нужно будет в будущем сделать правильно, чтобы если у меня будет много игроков, но пока я не могу на это отвлекаться. Так как я уже научился работать с SQLite. Вы можете добавить имя и очки по кнопке Insert, а далее нажать GetScores, чтобы получить, что храниться в базе данных: http://8observer8.cf/

Просто сейчас нужно распределить время и силы на саму игру (и ещё на несколько). Например, реализовать алгоритм поиска пути AStar. В оригинальной игре Lines используется алгоритм поиска пути для передвижения шариков. Временно пусть будет через SQLite, раз уж получилось. Мне нравится WebForms тем что довольно знакомо всё, как будто работаешь в WPF или в Qt с формошлёпкой. Да, потом, конечно, нужно нормально сделать. А пока, в свободное время, поизучаю какие технологии для чего лучше годятся.
0
 Аватар для rsotun
63 / 63 / 13
Регистрация: 20.04.2010
Сообщений: 475
30.01.2016, 08:27
8Observer8,
Можно ли на ASP.NET написать ответ на POST запрос в виде "Hello World"?
Можно, добавляй папку Controllers в проект, далее добавляй контроллер в эту папку ,Добавить - Контроллер
Далее можешь выбрать Контроллер Web Api 2 пустой, либо с действиями чтения и записи. Во втором варианте уже готов для примера контроллер.
В папку App_Start добавляй класс WebApiConfig
И туда код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.MapHttpAttributeRoutes();
 
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
И в файл глобал asax :
C#
1
 GlobalConfiguration.Configure(WebApiConfig.Register);
И все, вперед в работу.
Если формат ответа нужен в JSON , подключи пакет Newtonsoft.Json.

Далее в контроллере например так :
C#
1
2
3
4
5
6
7
8
9
10
[HttpPost]
        public DataTable RHome()
        {
            string connectionString = "строкаподключениякбд";
            DataSet ds = new DataSet();
            string запрос = "SELECT [id] .....FROM .....";
            SqlDataAdapter da = new SqlDataAdapter(запрос, connectionString);
            da.Fill(ds);
            return ds.Tables[0];
        }
Доступ твойсайт/api/названиеконтроллера/RHome
П.С. Если научился работать с SQLite, точно так же и MSSQL.
1
9933 / 2937 / 494
Регистрация: 05.10.2013
Сообщений: 7,964
Записей в блоге: 216
30.01.2016, 11:46  [ТС]
Цитата Сообщение от rsotun Посмотреть сообщение
Можно, добавляй папку Controllers в проект, далее добавляй контроллер в эту папку ,Добавить - Контроллер
Правильно ли будет применять Контроллеры для WebForms приложения? Может их нужно применять только для MVC?
0
 Аватар для rsotun
63 / 63 / 13
Регистрация: 20.04.2010
Сообщений: 475
30.01.2016, 12:13
8Observer8, Не то что правильно...я бы сказал АРХИправильно!Ибо разницы нет(MVC или WebForms).
1
1 / 1 / 0
Регистрация: 03.03.2016
Сообщений: 29
23.03.2016, 07:39
Цитата Сообщение от rsotun Посмотреть сообщение
И туда код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
*public static class WebApiConfig
* * {
* * * * public static void Register(HttpConfiguration config)
* * * * {
* * * * * * config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
* * * * * * * * name: "DefaultApi",
* * * * * * * * routeTemplate: "api/{controller}/{action}/{id}",
* * * * * * * * defaults: new { id = RouteParameter.Optional }
* * * * * * );
* * * * }
* * }
config.MapHttpAttributeRoutes(); - выделяет красным и ругается что Cannot resolve sembol 'MapHttpAttributeRoutes' чем может быть вызвано?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2016, 07:39
Помогаю со студенческими работами здесь

Отправить POST запрос и получить ответ
нужно послать запрос и получить результаты поиска со словом &quot;Hello&quot; static void Main(string args) { ...

POST запрос и ASP.NET страница
Доброго времени суток, нужно отправить пост запрос на страницу, но вот беда, как можно получить __VIEWSTATE и __EVENTVALIDATION? ...

Получить ответ compressed/chunked на POST запрос
Приветствую. Мне нужно в цикле узнавать ответ на POST запрос, и в зависимости от этого ответа производить дальнейшие действия. Так же мой...

Как отправить на сервер xml запрос с помощью post и получить ответ в xml?
нужно отправить на сервер xml запрос с помощью post и получить ответ в xml, погуглил нашел примеры, осталось лишь проверить примеры на...

Post запрос в ASP.NET application (не mvc) посредством JS к *.aspx
Добрый вечер... Каким образом организовать post запрос в ASP.NET application (не mvc) посредством JS к *.aspx? Есть js файл, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru