iT邦幫忙

0

AJAX呼叫後端Function

  • 分享至 

  • xImage

如果表單不要頻繁的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會長期占用記憶體,那麼第一種方式在開發上會不會有什麼問題?
如果有,怎麼改善會比較好?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
Homura
iT邦高手 1 級 ‧ 2019-03-21 09:53:03
最佳解答

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專案

我要發表回答

立即登入回答