2010-11-01 80 views
1

我有一個會員網站,無所謂語言或框架,因爲它是一般性問題。會員可以從內部和外部取消他的訂閱。當成員在裏面時,我將他的用戶ID存儲在會話中,並調用名爲CancelSubscription()的函數,該函數從會話中獲取用戶ID並撥打數據庫來取消訂閱。外部使用來自簡訊的電子郵件,用戶可以點擊關閉訂閱。這樣做的最正確的方法

問題是什麼是正確的,根據你的不好或良好的體驗方式來創建這兩個功能。

方法:

  1. 創建具有用戶ID(整數)CloseSubscription並用USEREMAIL(字符串)作爲獨立的功能。
  2. 當它作爲參數獲取字符串時,爲CloseSubscription創建重寫函數。
  3. 創建函數,其中AddUserIDFromUserEMail獲得的用戶ID,保存在會話中,然後調用CloseSubscription。

或其他...

感謝

這些解決方案的
+1

我不會覺得這太辛苦。最好花時間確保第二個選項。 – leppie 2010-11-01 10:28:49

回答

1

無,因爲(每個3):

  1. 你會重複刪除代碼中 的2刪除方法
  2. 這是令人困惑的,並且有一天 (意外)隱式轉換 將打破它。
  3. CloseSubscription不應該依賴於 會話ID的存在。如果您以後想要 離線刪除訂閱?

因此:

4:創建具有用戶ID(整數)CloseSubscription。

創建CloseSubscriptionEmail(電子郵件作爲字符串),它查找UserID,然後調用CloseSubscription。

+0

我沒有得到關於第三...你做我正在我的3在你的4 ... – eugeneK 2010-11-01 11:39:00

+0

不是說,你的3保存會話中的ID。我的4將用戶標識傳遞給CloseSubscription,從而在沒有會話的情況下工作(例如,脫機) – smirkingman 2010-11-01 12:03:29