Похоже, что когда вы получаете доступ к My.Settings.Default в VB.NET, ваш текущий поток изменяется.Рассмотрим следующий код.
Dim name = "admin"
Dim user = Membership.GetUser(name)
Dim identity = New GenericIdentity(user.UserName)
Dim principal = New RolePrincipal(identity)
System.Threading.Thread.CurrentPrincipal = principal
Debug.WriteLine(System.Threading.Thread.CurrentPrincipal.Identity.Name)
Dim x = My.MySettings.Default
Debug.WriteLine(System.Threading.Thread.CurrentPrincipal.Identity.Name)
Вывод этого кода:
admin
MyDomain \ MyUserName
Этоожидается?Это где-нибудь задокументировано?Я не смог найти никаких ссылок на него.
Кажется, он также делает это только при первом обращении к My.MySettings.Default, что означает, что можно обойти это свойство, коснувшись свойства, чтобы инициализировать его перед попыткойустановить CurrentPrincipal потока.Будут ли в этом какие-либо нежелательные побочные эффекты?