C# Corner

Resources  
  • FileDownloader : Download files using HTTPJan 10, 2000. This application contains a Form and a Class module . From Form we create a thread which execute the procedure to handle the NET download. This application can be enhance to do more down load as in Download manager by creating more threads.
  • I'm having trouble implementing IObjectSafety. IE keeps telling me that my controls isn't safe. Why?Aug 15, 2000. This article explains about how to implement the IObjectSafety. ATL's IObjectSafetyImpl class appears to have a few bugs in it. The code below works great.
  • Making UI more responsive using ThreadingFeb 12, 2001. This example shows how threads can help us to make User interface more responsive when we have some background jobs.
  • Synchronization in Multi-threadingFeb 13, 2001. This article with sample code shows synchronization concepts of multithreading ..
  • Writing Your First Multithreading ApplicationFeb 14, 2001. If you have never written a multithreading application in C# or .NET, this application might be helpful for you.
  • Multithreading For BeginnersFeb 15, 2001. This tutorial is for beginners who want to write their first multithreaded application in C# and .NET.
  • FTP Server in C#Mar 26, 2001. The application is a simple implementation of FTP Protocol RFC 959.
  • Using .NET Framework Multithreading and GDI+ to Enrich the user experienceMay 04, 2001. This tutorial shows you how to create, send, and received messages using MSMQ from the .NET base class library (System.Messaging) and C#.
  • Ouch! There is a Hook in My C#May 15, 2001. As an extension to the J++ design practice, C# has a syntactic construct, called Attributes, which let you drop hooks to Windows API or modify the runtime semantics, like threading synchronization behavior. The C# has legalized the hooking practice by calling them Attributes, and including them in ECMA C# specification.
  • TCP/IPLib SampleJun 22, 2001. This compopnent contains both a TCP/IP server and client. TcpIpClient inherits from System.Net.Sockets.TCPClient and is very straight forward. After construction, specifying the host and port, a network connection is established by calling Connect(). Internally, upon a successful connection, the client receives a TcpIpPacket, which contains a unique cookie that is used in any subsequent transactions.
  • IL "The Language of CLR" - A Platform for Cross-LanguageJun 28, 2001. This article introduces the Cross-Language capabilities of CLR environment (Common Language Runtime Environment) and its constituent language IL (Intermediate Language).
  • Synchronization in Parallel threadsJul 02, 2001. The Threads makes us able to run multitasks at a time. In fact Computers (John von Neumann Architecture) don't execute the tasks parallel .The OS gives threads permission (depend on thread priority) to work on CPU. The sufficient degree of parallelism keeps the CPU busy and it is efficient.
  • Messaging between Threads using Message LoopAug 20, 2001. MessageLoopLib is a stripped down version of a complete, threading communication subsystem Ive written. This implementation is a single thread created in the GUI constructor. Ive dropped all thread management and have had to change some of the message code to accommodate this.
  • A Simple Multi-threaded TCP/UDP Server and Client V2.Sep 24, 2001. This is the second version of my client/server program. The server and the client can be run on the same machine or on different machines. The following is the brief description of the server and the client programs specifically.
  • Socket ChatSep 24, 2001. This is an implementation of a Chat program using sockets. Along with basic chat capability,
  • Real Time ApplicationOct 02, 2001. The Real time Application is a sample that shows the communication techniques between a client (TcpClient) and a server (TcpServer) application using Socket class on each side. The project also demonstrates how to using listview control in the real time project.
  • WinChat For .NETOct 10, 2001. WinChat For .NET is a simple peer-to-peer chatting program that functions very similarly to the WinChat program provided by Windows 2000. It provides all the functionalities that the original WinChat program provides.
  • C# PagerOct 16, 2001. C# Pager is a simple client/server application that implements functions of a pager.
  • C# IRC BotNov 19, 2001. This is a very simple program that establishes a connection to irc server, joins a channel and greets every nick that joins.
  • Space Invaders in C# and .NETDec 23, 2001. Yes, the classic arcade game has returned and is appearing in C# Corner complete with sound and authentic aliens and source code. It's not quite as good as the real game, but with a few adjustments it can get there.
  • C# Discussion Forum from Harrison LogicJan 29, 2002. Threaded Discussion Forum that utilizes the .NET framework, with C# as the ASP.NET server side language. Uses MS Access Database for data.
  • Multi-threaded Web Applications - Case I: Search EngineMar 07, 2002. This article is the first of the series of 4. I will demonstrate the use of threading in web applications by implementing a simply search engine. The following 3 articles in the series will be a Port Scanner, a Reverse DNS and a Web Hammer respectively.
  • Multi-threaded Web Applications - Case II: Port ScannerMar 12, 2002. This article continues the 4-parts series of Multi-threaded Web Applications. In the first part, I have demonstrated how you can use multi-threading with ASP.NET to make a web based search engine more responsive, and to reduce the time required to compose the result. In this article, I will demonstrate how you can apply the same technique to a web based port scanner.
  • ASP.NET Naughts and CrossesMar 22, 2002. This article demonstrates the basic techniques used to build "ASP.net Noughts & Crosses" (tic tac toe to our American friends).
  • Multithreading Part I: Multithreading and MultitaskingApr 08, 2002. In this and a series of articles that would follow, we would learn about threads and how to write multi-threaded programs in C#.
  • Multithreading Part 2: Understanding the System.Threading.Thread ClassApr 08, 2002. In this article we will study the .NET threading API, how to create threads in C#, start and stop them, define their priorities and states.
  • Multithreading Part 3: Thread SynchronizationApr 11, 2002. The .NET framework provides a number of classes and data types that you can use to control the access to shared resources. Thread synchronization refers to the act of shielding against multithreading issues such as data- races, deadlocks and starvation.
  • Multithreading Part 4: The ThreadPool, Timer Classes and Asynchronous ProgrammingApr 16, 2002. In this article, I would discuss few more .NET classes and how and what role do they play a role in building multithreading applications.
  • Loading XML File in a TreeView Control using MultithreadingApr 19, 2002. There are many occasions when programmers need to develop multithreading applications, which can load big files in the background and let the user do data entry or other jobs without any interruption. In this article, I'll show you how to create multiple threads to load multiple files.
  • .NET Performance Counters, Part 1: Predefined CLR Performance CountersMay 13, 2002. In this article, I will describe what a performance counter is and introduce you to the predefined counters that you can use to monitor the state of the CLR while your applications run.
  • Recipe to Implement Threads Quick n Easy in C#Aug 28, 2002. In this tutorial type article, author shows how to write threading applications quick and easy in C#.
  • OpenGL BasicsOct 09, 2002. In this article I want to explain couple of more things. First of all, I would like to cover the OpenGL Coordinate System.
  • BlackJackOct 10, 2002. So as a learning experience, I decided to try writing a Blackjack game.
  • Texture Mapping in OpenGLOct 15, 2002. This is my third article about OpenGL and this one is about texture mapping.
  • Puzzle ControlOct 15, 2002. In this application I had combined the power of C# and AI in order to solve the "puzzle problem".
  • Drawing Shapes using ThreadingOct 25, 2002. This is simple multi-threading program that draws circles and rectangles. Each shape is handle by individual thread that created every time you press start button. Using sleep method on each thread we can change the speed of each shape.
  • Maze Solver Oct 28, 2002. Solving mazes is one of those problems, at least with the algorithm I've chosen here.
  • HJ PDF in C#Oct 31, 2002. This program allows you to download all Italian Hacker Journal issues into PDF files for free.
  • Consumer/Producer Multithreaded ProgramNov 04, 2002. This is simple multi-threading program that adds and removes elements in an ArrayList. Producer button will creates a producer thread that adds elements in to the ArrayList. The maximum number of elements can be added to this ArrayList are 100 elements and the producer thread has to wait until the consumer thread/threads (creates by pressing consumer button) removes elements from the ArrayList. Then Producer thread starts to add more elements to the ArrayList.
  • Client Server Multithreaded ApplicationNov 08, 2002. This is simple Client/Server (multi-threading) program that transfers data. Server can handle multiple clients.
  • Sorting using MultithreadingNov 13, 2002. This is simple multithreading application that sort integers values in an array.
  • Using the ThreadPool to Run Animated Gifs in C# and .NETNov 14, 2002. In this article we will discuss the use of the ThreadPool class in conjunction with the ImageAnimator class to run 3 animated gifs in separate threads.
  • FreeCell Game using Windows FormsNov 14, 2002. FreeCell is an implementation of the FreeCell card game using Windows Forms.
  • Synchronized Threading in .NETDec 11, 2002. Threads are a powerful abstraction for allowing parallelized operations: graphical updates can happen while another thread is performing computations, two threads can handle two simultaneous network requests from a single process, and the list goes on. Since threads are pretty simple to understand, conceptually, but, practically, they are a cause for programmatic headaches, I decided to write this program to describe how to make use of threads.
  • Daleks in .NETDec 11, 2002. The other night my girlfriend dragged me down to the NYC Public Library claiming that they had a huge Science Fiction movie section. Admittedly my taste in movies and my wife's taste in movies can vary slightly, however, I was willing to take a chance, given that rentals at the library are free as opposed to $4 at the local video store.
  • Concurrency Control in ADO.NET using Threads and MonitorsDec 31, 2002. The concurrency controls system refers to the lowest level in architecture of a DBMS. It is relative to the input/output operations, which carry out the transfer of blocks from the secondary memory to the main memory and vice versa.
  • Recording Sheet Music Using C# and .NETFeb 07, 2003. This is a article that allow you to record and replay the music you performed on the piano.
  • Project Trilma .NETFeb 19, 2003. In 1883 George H. Monks from Boston designed Halma, an interesting board game with simple rules.
  • Dots GameMar 06, 2003. Here is a dots game developed using C# and GDI+. New version of the game will be coming soon.
  • Distributed Cross Platform Applications, the Easy Way Mar 07, 2003. There are many ways of transferring data from one process to another. All those methods have some advantages, but also some drawbacks.
  • Use Thread Local Storage to Pass Thread Specific DataMar 18, 2003. The specific thread level storage is known as thread local storage or TLS for short. The .NET threading namespace allows .NET developers to use TLS from within their multi-threaded applications to store data that is unique to each thread.
  • Changing the default limit of 25 threads of ThreadPool ClassJun 19, 2003. The Threadpool is useful for managing threads that are usually in a wait state and that take only a short amount of time to do their work. If still you would like to change the default limit of 25 threads then here you go.
  • Lengthy Operations on Single Thread in .NET ApplicationsJul 08, 2003. In this article I discuss how the lenghty operations can be handled in a .NET application. I also discuss how the stack trace can be examined to find any specific methods.
  • Boxing and Unboxing of Value Types : What You Need to Know?Jul 21, 2003. Programmers new to C# can encounter less than ideal performance and even unexpected results due to boxing and unboxing of value types.
  • Interlocking ThreadsSep 10, 2003. Recently, I was building multi-threaded applications and noticed some intermittent data inconsistency. Soon, I found the culprit was locking mechanism. After doing some research, I gathered the following information and as usual decide to share with you guys.
  • Memory Management in .NETNov 17, 2003. This tutorial describes Memory Management in .NET.
  • QuickModeler 2.0 : A Reverse Engineering Tool for Visual Studio .NETJan 08, 2004. QuickModeler is an Add-In for Visual Studio .NET which provides reverse engineering and easy UML modeling functionality to the development environment. It comprises features like autolayout, inheritance and association modeling, cross language modeling, grid, clipboard, etc.
  • Multithreaded XML Document for Read/Write AccessJul 21, 2004. This article describes a process for using a ThreadPool within a windows service that monitors other services. It also shows how to allow multithreaded read/write access to an XmlDocument, that acts as persistent storage, using a Mutex.
  • Forum Alert Service Version 1.0Aug 24, 2004. The Alert Service is a Windows service that can be deployed in any discussion forums and whenever a thread is posted to the forums, an alert will be issued in the form of a message to the user.
  • Handling the Queuing of Messages in a Multithreaded ProgramSep 06, 2004. In the financial world you have to deal with messages being spewed at you in large quantities at a rapid rate. For example stock quotes, market data, and orders come flying at you through some sort of wire and you as a programmer have to handle them in a way that doesn’t overwhelm you or the machine.
  • Thread Safe Collections ArrayList and QueueSep 24, 2004. The attached project provides a dll containing a wrapper around the non-thread safe ArrayList and Queue classes. The wrapper implements the most common functions of this collection elements.
  • Pocket Trilma.NETOct 04, 2004. Pocket Trilma.NET is a Pocket PC version of project Trilma.NET.
  • A Scheduled Application Launcher Service in C# and .NETOct 06, 2004. This an article is on launching scheduled tasks. Not quite as exciting as launching a spaceship into outer space, but…hey, even astronauts have to automate some of their day to day activities.
  • Understanding Threading in .NET FrameworkApr 21, 2005. This article describes how to use threading model in .NET Framework including creating, joining, suspending, killing, and interlocking threads.
  • Asynchronous Data Access using Callback ModelAug 17, 2005. The problem with the ADO.Net 1.x is that one thread has to wait for the other thread to complete. So to overcome this problem Microsoft has introduced Asynchronous data access, through which one can execute multiple threads at a time.
  • Introduction to Multithreading in C#Oct 06, 2005. This article is a complete introdution to threading. It explains what is a thread and why it is used in programming. It also talks about common problems with threading, and how to begin writing thread safe code.
  • Glue IIS with Business Logical Tier using Batching, Asynchrony, and Parallel ComputationOct 26, 2005. A great and unusual way to boost your web application performance and scalability five times or more.
  • RegisterWaitForSingleObject in ThreadPoolNov 04, 2005. In this article, we are going to describe how to use Threadpool to execute a thread at specified time interval or instant by using Threading AutoResetEvent.
  • How do I use ThreadPool in C# and .NET?Nov 05, 2005. In this brief articles, I will show you how to use thread pool in C# and .NET.
  • Basic concepts of Threading: Part IJan 27, 2006. In this article, we will look at the basic concepts of threading in C# and .NET.
  • Basic concepts of Threading: Part IIJan 28, 2006. In this article a brief description about System.Threading Namespace, Classes and Interfaces provided that enables multithreading programming.
  • Integrating .NET Web Services with Java and classic ASP Clients for InteroperabilityFeb 13, 2006. The goal of this article is to show to integrate Microsoft's .NET Platform Web service with other platform like Java and ASP. The samples demonstrate basic techniques and principles that are used to cross-platform interoperability via Web services.
  • Thread Synchronization using VS.NET 2005Feb 27, 2006. When two or more threads need access to a shared resource, they need some way to ensure that the resource will be used by only one thread at a time. The process by which this is achieved is called synchronization.
  • Multi Threaded File Reader and GeneratorMar 07, 2006. The attached source code with this article is a multithreaded application written using .NET 2.0 that shows how to use the background worker threads to read a text file, generate reports and show report progress and completed events.
  • Application Scheduler Service Using C#.Net And XMLMay 29, 2006. This is an application scheduler that is implemented as a Windows Service, similar to the Windows Task Scheduler - but simple, as it has fewer configuration options and it uses XML to store and retrieve data.
  • Thread Safe codeJul 26, 2006. This articles tells the importance and meaning of a thread safe piece of code in C#.
  • Cross Page Postback in ASP.Net 2.0Aug 11, 2006. In ASP.Net 2.0, cross-page post backs allow posting to a different web page, resulting in more intuitive, structured and maintainable code. In this article, we will explore the various options and settings for the cross page postback mechanism.
  • Illustrates the use of the lock in multithreading applicationAug 17, 2006. Any application must have one or more processes. A Process is structural unit with a memory block and using some set of resources. For each executable, the Windows operating system creates some isolated memory block. This article tries to explain the use of lock basics of Multithreading in C# .Net.
  • Multithreading Made Easy in .NET 2.0Aug 31, 2006. This article demonstrates a very easy alternative to normal multithreaded programming in .NET. A freely available library called CSP.NET is presented and a sample application shown.
  • Enhanced Oracle Explorer in C# and .NET Using Windows FormsApr 27, 2007. This application will allows to do multiple simple activities on oracle database like running select statements and getting selected procedure's definition simultaneously in a thread-based GUI.
  • Multi-threaded Asynchronous Programming in C#... Getting started.May 12, 2007. Trying to build better solutions and growing as a developer has always been fun for me and I’m always looking for ways to build more scalability and robustness in the software I am writing. I had a revelation that I’ve been doing a lot of C# tweaking but not taking advantage of the core performance enhancements cooked right into C# and it all comes down to one thing: Asynchronous multi-threaded programming.
  • C# Asynchronous, Multi Threaded Development... Digging In. Part IIMay 13, 2007. In this article we'll dig a bit deeper into what is actually happening when we use the asynchronous calls using C#. Just as in my previous article, we'll simulate a long running I/O bound process as if we were fetching records from a database, making a web service call or reading or writing from a file and see how we can write more performant code by letting the main thread continue on and not wait for the results. 
  • Multi-threaded Asynchronous Programming in C#... Event-Driven Architecture. Part IV.May 14, 2007. This is a continuation of a set of articles on Asynchronous multi-threaded development using C#. In this article we'll cover the basics of building an event-driven architecture which will be a basis for most multi-threaded apps. Also we'll cover async read/write operations on a file.
  • Multi-threaded Asynchronous Programming in C#. Async Database Calls. Part III.May 14, 2007. In my last couple articles we looked at basic ways to have long-running i/o bound process be handled by the ThreadPool using the asynchronous programming model. In this article we’ll take a look at coding async calls against SqlServer which really comes in handy in production environments where our database is on another machine.
  • Multi-threaded Asynchronous Programming in C#... Through The Web Service. Part VMay 27, 2007. In my last article I discussed a general approach to building an async architecture. In this article we’ll look at extending this basic architecture and incorporating async web services.
  • Using the BackgroundWorker Component in .NET 2 ApplicationsJul 03, 2007. In this article I will show (step-by-step) how you can use the BackgroundWorker Component in .NET 2 applications to execute time-consuming operations.
  • Multi-threaded Asynchronous Programming in C#... Through The Web Page. Part VIJul 27, 2007. Async web pages which are primarily used as a server performance enhancement. There are two main methods we will be looking at that are used to execute operations asynchronously from web pages: Page.AddOnPreRenderCompleteAsync() and Page.AddOnPreRenderCompleteAsync().
  • C# Asynchronous Multi-Threaded Active Directory User/Group BrowserOct 01, 2007. I was working on a win forms project that queries Active Directory information for user and group information and thought the approach may be of interest to some c-sharpcorner readers as a simple example of a asynchronous multi-threaded win forms application.
  • Cross browser conditional validationOct 25, 2007. This article show how to show/hide textbox with required field validation on radio button click in a master page.
  • Functional Programming with C#: Asynchronous Method CallsJan 20, 2008. With the functional programming style and extension methods it is extremely easy to execute methods asynchronously. This article cover some simple extension methods that will allow you to easily execute your methods asynchronously with threads from the thread pool.
  • Functional Programming with C#: Advanced Asynchronous ProgrammingJan 21, 2008. I wrote about functional asynchronous programming in an earlier article and now will expand on the topic to look at ways to re-synchronize results from asynchronous function calls.
  • Background worker simplifiedMar 03, 2008. This article looks at the Background Worker Technology and encapsulates it into a simple form that can be used over and over to run your background tasks.
  • Using the BackgroundWorker componentMar 12, 2008. This article discusses the BackgroundWorker component in .NET 2.0, it will show you how to use it to execute tasks in the background of your application
  • Asynchronous Nature of DelegatesMar 13, 2008. In this article you will see the other face of the delegate type in C#, it will show you how you can invoke a method asynchronously using delegates.
  • High Performance Abstraction Layer for Non-Blocking Asynchronous Thread Safe SqlServer CallsApr 25, 2008. One of the things I find myself doing frequently is writing (and re-writing) plumbing code to execute database CRUD operations. I wrote an abstraction layer over asynchronous SqlServer calls that allows developers to correctly make async calls agains SqlServer without having to deal with any of the complex plumbing normally required. All source code is included with this article.
  • Configuring IIS for Silverlight ApplicationsAug 12, 2008. Microsoft Silverlight is a cross-browser; cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that integrates with existing Web applications.
  • Multithreading in C#Sep 27, 2008. This article discusses how to write multithreading applications in C#. Part I of this series will discuss the basics of threads in .NET.
  • Caching FAQ's: Part IJan 22, 2009. In this section we will touch base on one of important concepts in .NET Caching.
  • Multithreading with C#Feb 20, 2009. This article gives you an introduction to write multithreaded applications with c# and some basic ways for creating threads
  • Dealing with controls within a multi threaded contextMar 19, 2009. In this article I will provide a technique of how to avoid invalid cross threaded operation and I have taken an example of dealing with controls within a multithreaded context to demonsrate how to avoid such trouble

About cross-thread

NA

SPONSORED BY

Spire.Doc - Free .NET Word API
Use Spire.Doc to create, read, write, print, and convert word documents to OpenXML, RTF, TXT, XPS, EPUB, EMF, HTML, Image and PDF.
Download Free eBooks