سؤال

وأنا أحاول لتنفيذ المراجعة الأساسية مع بعض النماذج بلدي (مثل 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 عملت مثل سحر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top