我在調用一些已經通過jQuery ajax使用[WebMethod]裝飾的方法。ASPX頁面調用[WebMethod]時的生命週期s
這些需要在外部庫中設置數據庫連接,該連接對於每種方法都是相同的。
我原來的代碼是這樣的:
public partial class Server : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// code to set up DB connections
ExternalLibrary.SetupDB();
}
[WebMethod]
public static string AjaxAccessibleMethod()
{
try
{
// get some data from the database via the external library
ExternalLibrary.CallDatabase();
}
catch(Exception ex)
{
// handle errors
}
}
}
這是工作,但隨後開始拋出異常,聲稱ExternalLibrary的數據庫尚未初始化。
在我的代碼中放置斷點我發現在調用我的AjaxAccessibleMethod時沒有調用Page_Load事件,我也嘗試將DB安裝的東西移動到Page_Init事件中,但同樣沒有調用。
任何人都可以向我解釋使用WebMethods時的aspx頁面生命週期嗎?事實上,這起作用最初似乎意味着Page_Load被稱爲,但它不再是。
http://stackoverflow.com/a/18072090/885626 – Ric