الحصول على اسم المستخدم داخل فئة نموذج
-
03-07-2019 - |
سؤال
وأنا أحاول لتنفيذ المراجعة الأساسية مع بعض النماذج بلدي (مثل CreatedAt، UpdatedAt، CreatedBy وUpdatedBy).
ويتم جزء التاريخ / الوقت. أنا رمي الأحداث على نماذج بلدي عندما يتم تغيير خاصية (تنفيذ INotifyPropertyChanging, INotifyPropertyChanged
)، ويمكن تحديث الحقول مراسل على ما يرام.
وأنا فقط بحاجة الى معرفة كيفية الحصول على اسم المستخدم الحالي دون الحاجة إلى تمرير من خلال وحدة تحكم في كل مرة كنت مثيل أو الحصول على مثيل موجود من نموذج.
المحلول
والمراجع System.Web واستخدام HttpContext.Current.User.Identity.Name عملت مثل سحر.
اقتباس فقرة>لم أكن أعرف عن ذلك. شكر. أفعل مثل هذا:
Membership.GetUser().UserName
ما هي طريقة أسرع؟
نصائح أخرى
والطريقة مجردة من الحديث عن الهوية هي "أصل" - راجع هذا الموضوع . وآمل أن هذا الرمز يسمح لك للحصول على الهوية دون الحاجة إلى معرفة حول تنفيذ تسجيل الدخول:
public static class SomeUtilityClass {
public static string GetUsername() {
IPrincipal principal = Thread.CurrentPrincipal;
IIdentity identity = principal == null ? null : principal.Identity;
return identity == null ? null : identity.Name;
}
}
...
record.UpdatedBy = record.CreatedBy = SomeUtilityClass.GetUsername();
والمراجع System.Web
واستخدام HttpContext.Current.User.Identity.Name
عملت مثل سحر.