NullReferenceException using static members in a multi-thread .exe

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
 
S

Sherif ElMetainy

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
 
G

Guest

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top