如果表單不要頻繁的submit就會使用AJAX去呼叫Function
Web Form:
[WebMethod]
public static string Hello()
{
return "Hello Ajax!";
}
MVC:
public JsonResult RemoveNotifications(IEnumerable<int> notificationIds)
{
Context.Notifications.RemoveAll(n => notificationIds.Contains(n.Id));
return new JsonResult();
}
上面是我在網路上找到的範例,想請問一下,
1.為什麼在Web Form時,需要將Function宣告成靜態,MVC卻不用?
2.就我所知道,static會長期占用記憶體,那麼第一種方式在開發上會不會有什麼問題?
如果有,怎麼改善會比較好?
1.為什麼在Web Form時,需要將Function宣告成靜態,MVC卻不用?
應該是架構上不太一樣
Web Form剛出時並沒有AJAX
所以才會出現後來的AJAX Control Toolkit
這個輔助使用ajax這控制項
但是這東西跟一堆前端套件衝突不建議用
2.就我所知道,static會長期占用記憶體,那麼第一種方式在開發上會不會有什麼問題?
如果有,怎麼改善會比較好?
Web Form執行完成後會釋放掉,但是速度沒那麼快
如果短時間人很多AJAX請求記憶體會消耗很快
可以參考下面2篇討論
https://bbs.csdn.net/topics/390225490
https://social.msdn.microsoft.com/Forums/zh-TW/c960112e-43ac-4ae7-9854-9f952aa1eb8f/3553121839static?forum=236
改善的話我會比較建議你改用泛型處理常式(.ashx)
或是改用MVC專案