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

本文关键字:站点 Net 部署 ASP 开发 | 更新日期: 2023-09-27 18:07:10

编辑
我们发现了更多。事实证明,如果你定期访问该网站,它就不起作用,但如果你在地址栏上手动键入/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);

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

您需要经历一些故障排除步骤,因为这里有很多变量在起作用(好吧,至少我没有您的源代码,所以我自己想有很多变量(。

我认为你应该花点时间下载Fiddler2。使用它可以观察开发环境中的HTTP流量,并将其与生产环境进行比较。

还要确保你的web.config相当相似。要小心跨域问题,并小心XSS(如果ASP.NET认为某个值看起来像XSS,则默认情况下会回发(。

如果能有更多的信息,比如"下一步"按钮的代码,那就太好了。

我刚刚在开发一个网站时遇到了这种情况。在我的案例中,罪魁祸首是一个不正确的URL重写,它基本上删除了任何发布的表单数据。

你能发布任何代码吗?