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 4272882
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T07:38:16+00:00 2026-05-21T07:38:16+00:00

I am developing a silverlight application and I have a method that should throw

  • 0

I am developing a silverlight application and I have a method that should throw an exception if it’s ran on the UI thread since it uses AutoResetEvent.WaitOne() without timeout which causes the UI thread to freeze.
How do I detect if the current thread is the UI thread?

EDIT:
Note that this method resides in a class library and not in a UI component.

  • 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-21T07:38:17+00:00Added an answer on May 21, 2026 at 7:38 am

    You can check if you are in the main UI thread by using Application.Current.Dispatcher (use the CheckAccess() function).

    Notice i said main UI thread – this is important, as any thread can have a dispatcher associated with it*, and you can have more than one UI thread. To be more accurate, your question should be

    How do I find if the current executed code is a UI thread?

    AFAIK this may not be possible with any certainty, as the only real discernable difference (that i have seen) between a background (thread pool) thread and a UI thread is their ApartmentState – UI threads are STA, and the threads available in the thread pool are MTA. This doesn’t mean that a STA thread is a UI thread though. (I would be glad for someone to chip in with something definitive here). Maybe your solution is to look at it the other way – ensure that the AutoResetEvent.WaitOne() calls are only done on threads that are MTA.

    *just try executing the code this.Dispatcher.CheckAccess() on a background thread and see what happens….

    Edit:

    thanks to @drow for pointing out that this should be Silverlight… duh. I will leave the answer above untouched as it is still applicable for WPF. As mentioned by @drow, there is no way to access the ApartmentState of the thread in Silverlight, and the Dispatcher is not available when using System.Threading.Thread.CurrentThread.

    So as another option you can check whether Deployment.Current.Dispatcher.CheckAccess() returns false, if it is then you are on a background thread (i.e. not the main UI thread). I did test this, and it works nicely.

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

Sidebar

Related Questions

I am developing a RIA application in silverlight and my requirement is that I
I am developing a Windows Phone 7 Silverlight application that currently displays a map
I'm developing a map application in Silverlight. I have a type Polygon, containing the
I'me currently developing a silverlight application. In this application, I've an exception handler which
I am developing a silverlight navigation application and have encountered the following problem. I
I'm a .Net developer and want to get into developing Silverlight applications. I have
When developing a new web based application which version of html should you aim
I am developing a silverlight 3 application using WCF RIA services. I am using
I'm developing a Silverlight 3 Application which I want to connect to a webservice
I am developing a Silverlight 3 application and I would like to delegate all

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.