我在我的代码,一个常规的Web应用程序下面的C#代码背后:C#代码具有不同的本地主机VS直播服务器
protected void Page_Load(object sender, EventArgs e)
{
if (!validTime())
{
btnEdit.Enabled = false;
btnSubmit.Enabled = false; btnSubmit2.Enabled = false;
lblSuccess.Text = "It is not currently the time to edit picks for this week.";
lblSuccess.ForeColor = System.Drawing.Color.Red;
if (picksMade())
{
displayCurrentPicks();
}
}
else
{
if (picksMade())
{
btnEdit.Enabled = true;
btnSubmit.Enabled = false;
btnSubmit2.Enabled = false;
displayCurrentPicks();
lblSuccess.Text = "Viewing your current picks";
lblSuccess.ForeColor = System.Drawing.Color.Green;
if (Session["Success"] != null && Session["Success"].ToString() != String.Empty)
{
lblSuccess.Text = Session["Success"].ToString();
lblSuccess.ForeColor = System.Drawing.Color.Green;
Session.Remove("Success");
}
}
else
{
btnEdit.Enabled = false;
btnSubmit.Enabled = true; btnSubmit2.Enabled = true;
displayCreatePicks();
lblSuccess.Text = "Create your picks for this week";
lblSuccess.ForeColor = System.Drawing.Color.Green;
}
}
}
的问题是,这种代码的伟大工程,当我使用ASP测试。 NET开发服务器。当我将它发布到我的实时服务器时,它有一些不同的行为。
我有一个与此签名将数据插入我的数据库的Web方法:
[WebMethod]
public static void savePicks(List<string> Points, List<string> Teams, List<string> TieBreaker)
同样,在测试服务器上运行和伟大工程。问题是,当方法返回它应该刷新页面,并且它,但在实时服务器上,我的代码在page_load事件不运行?或者运行方式不同?它从不调用displayCurrentPicks()方法?或者如果它确实,它运行不正确?除非它在测试服务器上完美运行。
我没有办法检查这个代码,因为当我这样做的时候,它在测试服务器上效果很好。现场服务器托管在Godaddy上。
我已经尝试了一切。我试过在正确的方法之后进行页面刷新,并在javascript中强制重新运行page_load事件。什么都没有我已经在这几天了。我相信我所有的代码都在发布。我完成了所有通常的“愚蠢检查”。数据传递给数据库,picksMade()函数在那里有数据时返回true。数据在页面刷新之前就已经存在了。
为什么现场服务器不运行我发布的代码?它为什么运行不同的东西?或者行为不同?我知道这是一个不同的服务器,但它不应该运行相同的代码?
Web方法是否在同一页中?它不会被执行并且没有错误? – misha 2012-07-12 15:20:31
如何插入一些日志记录函数来准确找出* *和*不会被调用? – 2012-07-12 15:20:57
您是使用内置的ASP.NET开发服务器还是使用IIS Express?如果它是内置的,那么我会建议使用IIS Express来尝试它,因为这可能会让您更好地调试它在现场服务器上所做的事情。 – 2012-07-12 15:21:21