Развернутый сайт ASP.Net не действует так же, как сайт разработчика - PullRequest
0 голосов
/ 31 августа 2011

EDIT
Мы находим немного больше. Оказывается, что если вы регулярно заходите на сайт, он не будет работать, но если вы вручную введете /default.aspx в адресной строке, функциональность будет работать нормально.

Мы работаем над развертыванием нового сайта и застряли на первом шаге на сайте.
По сути, пользователь заполняет 1 текстовое поле и нажимает кнопку «Сохранить», что перенаправляет их на следующую страницу. Это название проекта.

Локально в Dev все работает нормально. Мы думаем, что базы данных точно такие же. Однако на рабочем сервере, когда пользователь нажимает кнопку «Сохранить», форма просто отправляет сообщение обратно, новая запись не вставляется и перенаправление не происходит.

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

Может кто-нибудь придумать причины, по которым может произойти что-то подобное? Я могу вам сказать, что между кнопкой «Загрузка страницы» и «Сохранить» на этой странице (которые на данный момент являются единственными 2 частями кода) абсолютно нет операторов If, операторов Switch, циклов For, вообще ничего. Это просто прямой поток от страницы к базе данных для перенаправления.

Соответствующий код:

var progress_layer = new b_Progress();
var business_layer = new Projects();
var project = Project.CreateProject(0);
project.ProjectName = txtProjectName.Text;
project.Description = txtProjectDescription.Text;

int id = business_layer.AddProjectAndApplicationInfo(project); // THIS IS WHERE IT SHOULD SAVE
theSession.ProjectID = id;
var steps = progress_layer.GetStepsForProject(id);

progress_layer.CompleteStep(id, steps[0].Seq);

if (steps.Count() >= 2)
    Response.Redirect(steps[1].URL);

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

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

Я думаю, вам нужно потратить некоторое время и загрузить Fiddler2 .Используйте его, чтобы посмотреть HTTP-трафик в вашей среде разработки и сравнить его со своей средой разработки.

Также убедитесь, что ваши web.configs достаточно похожи.Будьте осторожны с междоменными проблемами и будьте осторожны с XSS (ASP.NET по умолчанию отбрасывает обратную передачу, если считает, что значение выглядит как XSS).

Было бы неплохо получить больше информации, такой каккод для этой «следующей» кнопки.

0 голосов
/ 31 августа 2011

У меня была именно такая ситуация с сайтом, который я разрабатываю. В моем случае виновником была неправильная перезапись URL, которая по сути стирала все опубликованные данные формы.

Можете ли вы опубликовать любой код?

...