有時它你以爲你知道,讓你的頭buzzz簡單的事情....Asp.net C#靜態方法線程安全的錯誤處理
我有一個使用靜態方法一個Asp.Net(形式)申請一個非靜態類在PostBack上做一些處理。這些方法需要返回布爾值。
當靜態方法出現錯誤時,我寧願不要將異常拋回頁面級代碼,而是在靜態方法中顯式處理它並返回false。
我可能過度思考這一點,但,如果MyClass的有一個靜態的ErrorMessage場,在頁面中使用這樣的:
if(!MyClass.DoSomething){
errorLabel.Text = MyClass.ErrorMessage; //Static ErrorMessage is set
}
我是正確的的errorMessage被有效地線程安全的,因爲MyClass的是非靜態,頁面生活在一個特定的HttpContext和變量銷燬PostBack?
有沒有原因,或者更好的方法?
對,想也許我正在說自己陷入沉默......我可能只是使方法非靜態並實例化MyClass。這是否有效,無論它是否在Asp.Net頁面中,是的? – Serexx 2012-02-14 23:23:24
@Serexx:如果你不共享實例,那麼是的,它將是線程安全的。 – 2012-02-14 23:32:35