"Invalid attempt to call Read when reader is closed" in LINQ DataContext
I got a lot of error from a LINQ DataContext, such as "Invalid attempt to call Read when reader is closed" . That is because I was using a singleton for DataContext in a multi-threads.
The codes like that:
Code
private static ExampleDataContext Context; | |
private static ExampleDataContext GetContext() | |
{ | |
if(Context == null) | |
{ | |
Context = new ExampleDataContext(); | |
} | |
return Context; | |
} |
That is not very thread-safe. A thread will close the DataContext, but others threads are still using DataContext. Then it will throw the error above.
I changed the DataContext in a pre-thread. I initialize the DataContext in each thread. The errors are gone! You also can do the DataContext in a pre-object. That is simpler.
Mutex Lock Example
I have written an example project in C#. This example will shows how to use Mutex Lock. Moreover, it will demonstrate how to create a thread with parameters. Please click here to download.
Please remember to use "System.Timers.Timer" in Windows Service
I am implementing a Windows Service. I did a foolish mistake. I opened the design view of windows service and drag-and-drop the Timer from toolbar. Because I need the windows service to execute some code periodically. I found the timer won't triggered at all. I found that is Timer in Windows.Forms. It never works in Windows Service. You need to create a timer of System.Timers. Like the example following:
Code
System.Timers.Timer timer2 = new System.Timers.Timer(); | |
timer2.Interval = 10000; | |
timer2.Enabled = true; | |
timer2.Elapsed += new System.Timers.ElapsedEventHandler(timer2_Elapsed); |
Custom Error Message for jQuery validation
I found the jQuery validation is very good! Moreover, that is very easy to customize the error message. You just need to put the message in the "title" attribute.
e.g.
Code
<input title="Please enter your name" class="required" id="name" name="name" type="text" > |
Adv Network Info - What is my IP in Android

We built a tool to check network information in your Android. It will find out all internal IP addresses and the external address. That is very useful for your developer and to do security audit.
By the way, I found even I am using 3G to connect internet. It only has a private network address!
Please click here to download
or
Scan this QRCode

