Я работаю над веб-приложением (используя webForms not mvc), который берет ввод пользователя и добавляет его в таблицу базы данных. Это приложение будет доступно пользователям в dev, qa и производственной среде, попав в каждую среду собственной базы данных.Как передать EF6 Entity на новую страницу на другом сервере
В настоящее время у меня есть кнопка продвижения, которая работает, подключившись к базе данных QA из Dev или базы данных Prod из QA, вставляя/обновляя данные там, а затем перенаправляясь в версию приложения QA/Prod.
Вместо этого я хотел бы сохранить myEntity в переменной и отправить ее с помощью перенаправления. Я имею в виду что-то вроде этого:
MyEntityType myEntity = UserInputData();
Response.Redirect("myQAurl", myEntity);
Тогда в моем QA Page_Load есть что-то вроде:
If(fromDev){
loadPageWithMyEntity();
}
Делая это таким образом, я надеюсь, чтобы предотвратить подключение к базе данных QA/Prod непосредственно от разработчика - > QA или QA -> Prod.
Если прохождение Субъект не будет работать, я мог бы также использовать массив, список и т.д.
Любые данные в перенаправлении должны быть в строке запроса. Можете ли вы представить свою сущность в строке запроса как набор пар ключ/значение? Или, возможно, JSON-сериализованную версию объекта, которая затем де-сериализуется на принимающей странице? – David
В моей сущности есть 40 полей (я знаю его много, но я не администратор БД), поэтому помещать их в строку запроса не идеально. Кроме того, данные содержат пароль. Возможно, я могу использовать сериализацию json. Должен ли я установить соединение с сервером для передачи объекта json или есть способ использовать целевой URL? –
Если вы сериализуете объект, тогда эта строка будет значением в строке ключа/значения строки запроса. Разумеется, он должен быть закодирован в URL.И конечная точка, получающая его, должна будет де-сериализовать его из строки в объект. Обратите внимание, что это может сделать * очень длинный URL для большого объекта, что может быть проблематичным. Если объект такой большой, вам может потребоваться поместить его в поля формы на странице и использовать JavaScript, чтобы сделать запрос POST из браузера, поскольку перенаправление не будет работать для POST. Что касается паролей ... Почему они отправляются таким образом, в первую очередь? – David