Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6822679
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T21:41:33+00:00 2026-05-26T21:41:33+00:00

It appears that when you access My.Settings.Default in VB.NET, your thread’s CurrentPrincipal changes. Consider

  • 0

It appears that when you access My.Settings.Default in VB.NET, your thread’s CurrentPrincipal changes. Consider the following code.

            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)

The output of this code is

admin

MyDomain\MyUserName

Is this expected? Is it documented anywhere? I couldn’t find any references to it.

It also seems to only do this the first time My.MySettings.Default is accessed, which means that a workaround might be to touch the property to initialize it before attempting to set the thread’s CurrentPrincipal. Would there be any undesirable side effects to doing that?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T21:41:34+00:00Added an answer on May 26, 2026 at 9:41 pm

    I believe that this is because the default instance is created using a thread-safe operation:

        Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
    

    Since the default instance is only created the first time you access MySettings, I think the easiest solution is to access it once prior to changing your user identity.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

It appears that each app has access to its own config settings, which could
It appears with the following cookie settings below, that cookies are set for the
It appears that Directory.GetFiles() in C# modifies the Last access date of a file.
While opening any MS Access database, a security warning appears saying that the file
Appears that WAS does not support the integration binding. I've tried setting it up
It appears that using perldoc perl gives the list of, e.g. perlre, perlvar, etc.
It appears that in PHP objects are passed by reference. Even assignment operators do
It appears that I can escape command line arguments using single or double quotes:
It appears that NetBeans and Aptana/RadRails are the most common adopted IDE's for Ruby
It appears that the simplest, naivest way to do basic sentiment analysis is with

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.