NullReferenceException using static members in a multi-thread .exe

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Using a class with static members in a multi-thread executable results in

'System.NullReferenceException' exception.
This happen only if the class is not initialized (calling any static member)
before

trheads start.
The exception is not throw if:
- If I invoke a static member in main before threads start.
- The class is included in the application project and I don't use an
external library.

Following there is a sample of a solution that have the problem.

All happen with: .Net Framework 1.1.4322, Windows 2000 SP4, Visual Studio
..Net 2003 7.1.3088.

Any help would be appreciated.

Thanks
 
Hello

Are you using ThreadStatic attribute? If so, the variable may be initialized
in one thread, and not initialized in another thread.
You need to post short code that demonstrates your problem to help people
help you.

Best regards,
Sherif
 
Hello,
In this case I don't need to use ThreadStatic attribute for the static
members.
The class is a helper class to retrieve a connection string from
configuration file (in the samples the connection string is a constant
string), so the connection string is the same for all threads.
Anyway I tested ThreadStatic attribute with a proper initialization member
(without using a constructor). I will use this method only if there's no
other way,

About the sample it is the result of a long test and I can't reduce anymore
(I need 2 project application+library, I need a OpenConnection function, a
constructor, ecc.).

Thanks
RobyFerro
 
Back
Top