ASP.Net部署的站点与dev站点的行为不同

时间:2011-08-31 02:59:36

标签: c# asp.net postback

修改
我们发现了更多。事实证明,如果你定期去网站它不起作用,但如果你在地址栏上手动输入/default.aspx,功能正常。

我们正在努力部署一个新网站,并在网站的第一步停留 基本上,用户填写1个文本框并点击保存,将其重定向到下一页。这是项目名称。

在Dev的本地一切正常。我们认为数据库完全相同。但是,在生产服务器上,当用户单击“保存”按钮时,表单只会回发并且不会插入新记录,也不会发生重定向。

相同的代码非常简单,此时我们甚至都没有实现错误处理,所以如果出现问题我们会发现某种错误。
混淆的最大一点是数据库中没有插入新记录这一事实。

任何人都可以想到这样的事情会发生吗?我可以告诉你,在这个页面的页面加载和保存按钮之间(这是现在只有两个代码),绝对没有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 个答案:

答案 0 :(得分:2)

你需要经过一些故障排除步骤,因为这里有很多变量(好吧,至少我没有你的来源,所以我自己脑子里有很多变量)。

我认为您应该花些时间下载Fiddler2。使用它来监视开发环境中的HTTP流量,并将其与您的生产环境进行比较。

还要确保您的web.configs非常相似。注意跨域问题并小心XSS(默认情况下,如果它认为值看起来像XSS,则会回退一个回发)。

拥有更多信息,例如“下一步”按钮的代码,真好。

答案 1 :(得分:0)

我刚刚与我正在开发的网站有这种确切的情况。在我的情况下,罪魁祸首是一个不正确的URL重写,这实际上是擦除任何发布的表单数据。

你可以发布任何代码吗?