On this page

post disappeared suddenly
writing secure .Net code for web applications - Prologue
Coding with Threads in .Net - Lesson 1
Blog version updated to 1.9
back to action

Ads

Navigation

Search

Categories

Clouds

Sql Server (5) .Net (16) .Net 2.0 (2) C# (3) @ff Topic (5) Architectural solutions (9) ASP (1) BDD (5) Blog related (8) database (2) Development process (8) Facebook (1) job interviews (1) Lessons (5) Life (12) Microsoft (5) IIS 6 (2) SPS (sharepoint server) (3) Drivers (1) Internet Explorer (2) Windows 2003 server (1) NightDuck (2) Performance (5) Security (9) Sql Server 2000 (4) Study (2) TDD (1) Threading (3) Under the hood (1) Web (1) Web services (1) XSS (6)

Archive

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 63
This Year: 0
This Month: 0
This Week: 0
Comments: 33

Sign In
Pick a theme:

 Wednesday, September 27, 2006
Wednesday, September 27, 2006 7:15:20 PM (GMT Standard Time, UTC+00:00) ( Blog related )
a very strange thing happened just now.
as soon as i posted my last post(minutes ago) all post disappeared.
a very strange phenomena.

update :
after restarting the application, all posts came back to "life".
probably some bug at dasBlog system

Comments [0] | | # 
Wednesday, September 27, 2006 5:41:45 PM (GMT Standard Time, UTC+00:00) ( .Net | Security | XSS )

Today I stepped into my parallel team office just when shani raba (AKA - "human debugger") explained to a new programmer the usage of validators in ASP.NET form.
We started an argument about the affectivity of the .Net built-in validators, and what should you do besides that on the server side, to guarantee no security breaches through that tiny input that protected by the "mighty" .Net Validator.

We came to several interesting conclusions and understanding about aspect of the subject that we didn't knew.
So, I decided to write a post about that,
I came home, and started to write some example on the subject.
The problem is that as soon as I started to cover one aspect of the subject, other aspects came across that I couldn't neglect.
So I decided to create several posts during this week and the next, which will cover most of the "secure .Net code for web applications" subject.

The posts will refer to:

  • Cross-site scripting (XSS)
  • Session hijacking
  • Hidden field tampering
  • SQL injection
  • Cookies and Authentication
  • some other aspects that I'll encounter on the way
  • Your requests...
  •  

So stay tuned for the next weeks for more about the subject.

 

 

Comments [1] | | # 
 Monday, September 25, 2006
Monday, September 25, 2006 5:28:14 PM (GMT Standard Time, UTC+00:00) ( .Net | Lessons | Performance | Threading )

the main reason that I've started to play with threads is because the industry WILL (sooner or later) move to a multi-core guided programing, and it WILL become mainstream (mark my words :) ).

any way, lets start from the beginning, and why do we need threads.
according to the definition : "Threads are a way for a program to split itself into two or more simultaneously (or pseudo-simultaneously) running tasks. Threads and processes differ from one operating system to another, but in general, the way that a thread is created and shares its resources is different from the way a process does."

so, in other words, we will use threads when we need to perform simultaneous tasks.
these kind of actions made when you have unused processing time while waiting for other task to finish.

so, back to the .Net world, how would we do that ?

to use threads, we need to include the library :

using System.Threading;

the next thing we need i to know how to to lunch a thread with a task.

  • we need to create a task to be done.
  • a ThredStart delegate which will point to our task.
  • a new thread ( or an old one from a thread pool ) - which is better and when will be explained in some later posts.
  • start the thread.

so :

lets create some task :

        private void BurnCPUwithOneThread()
        {
            for(int i=0; i< 5000000;i++)
            {
                lblcounter.Text = i.ToString();
            }
        }

 

and one more :

        private void BurnCPUwithTwoThreads()
        {
            for(int i=0; i< 5000000;i++)
            {
                lblCounter2.Text = i.ToString();
            }
        }

now we will create the delegate and the threads, and activate them.

        private void button4_Click(object sender, System.EventArgs e)
        {
            //We will run the action in a different thread from the gui
            //so when we do sleep the the tread the gui will not hang up.

            // Create the thread start object
            ThreadStart ts = new ThreadStart(BurnCPUwithOneThread);
            
            // The tread itself
            Thread t = new Thread(ts);
            
            // Starting the thread
            t.Start();

            // Create the thread start object
            ThreadStart ts2 = new ThreadStart(BurnCPUwithTwoThreads);
            
            // The tread itself
            Thread t2 = new Thread(ts2);
            
            // Starting the thread
            t2.Start();

        }

 

  thats it.
   now you have a working little program with 2 threads.
   if you will run this code , you will notice that it is done simultaneously.


   next lessons will handle : sending parameters to threads, synchronizing, thread pool, and more.
   please comment, if you would like me to focus on some specific subject...

Comments [0] | | # 
Monday, September 25, 2006 4:06:33 PM (GMT Standard Time, UTC+00:00) ( Blog related )

as a part of the site development,
the dasBlog system upgraded to th 1.9 version.

Comments [0] | | # 
 Saturday, September 23, 2006
Saturday, September 23, 2006 6:26:05 PM (GMT Standard Time, UTC+00:00) ( Life )
after almost a month with no posting, due some heavy work at home (house remodeling)
I'm back to action.

so stay tuned for some new exiting posts on various subjects.

Comments [0] | | #