Развернутый сайт ASP.Net не действует так же, как dev site

107
8

РЕДАКТИРОВАТЬ
Мы находим немного больше. Оказывается, если вы регулярно посещаете сайт, это не сработает, но если вы вручную наберете /default.aspx в адресной строке, функциональность будет работать нормально.

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

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

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

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

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

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);

спросил(а) 2011-08-31T05:59:00+04:00 9 лет, 2 месяца назад
1
Решение
71

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

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

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

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

ответил(а) 2011-08-31T06:08:00+04:00 9 лет, 2 месяца назад
41

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


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

ответил(а) 2011-08-31T06:09:00+04:00 9 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема