Archive for December, 2007

Web site - 4 CHAPTER 1 THE PHILOSOPHY OF .NET

Sunday, December 30th, 2007

4 CHAPTER 1 THE PHILOSOPHY OF .NET approach (can anyone say spaghetti code?) When you combine the thousands of global functions and data types defined by the Win32 API to an already formidable language, it is little wonder that there are so many buggy applications floating around today. Life As a C++/MFC Programmer One vast improvement over raw C/API development is the use of the C++ programming language. In many ways, C++ can be thought of as an object-oriented layer on top of C. Thus, even though C++ programmers benefit from the famed pillars of OOP (encapsulation, inheritance, and polymorphism), they are still at the mercy of the painful aspects of the C language (e.g., manual memory management, ugly pointer arithmetic, and ugly syntactical constructs). Despite its complexity, many C++ frameworks exist today. For example, the Microsoft Foundation Classes (MFC) provides the developer with a set of C++ classes that facilitate the construction of Win32 applications. The main role of MFC is to wrap a sane subset of the raw Win32 API behind a number of classes, magic macros, and numerous code-generation tools (aka wizards). Regardless of the helpful assistance offered by the MFC framework (as well as many other C++-based windowing toolkits), the fact of the matter is that C++ programming remains a difficult and error-prone experience, given its historical roots in C. Life As aVisual Basic 6.0 Programmer Due to a heartfelt desire to enjoy a simpler lifestyle, many programmers have shifted away from the world of C(++)-based frameworks to kinder, gentler languages such as Visual Basic 6.0 (VB6). VB6 is popular due to its ability to build complex user interfaces, code libraries (e.g., COM servers), and data access logic with minimal fuss and bother. Even more than MFC, VB6 hides the complexities of the raw Win32 API from view using a number of integrated code wizards, intrinsic data types, classes, and VB-specific functions. The major downfall of VB6 (which has been rectified given the advent of Visual Basic .NET) is that it is not a fully object-oriented language; rather, it is object aware. For example, VB6 does not allow the programmer to establish is-a relationships between types (i.e., no classical inheritance) and has no intrinsic support for parameterized class construction. Moreover, VB6 doesn t provide the ability to build multithreaded applications unless you are willing to drop down to low-level Win32 API calls (which is complex at best and dangerous at worst). Life As a Java/J2EE Programmer Enter Java. The Java programming language is (almost) completely object oriented and has its syntactic roots in C++. As many of you are aware, Java s strengths are far greater than its support for platform independence. Java (as a language) cleans up many unsavory syntactical aspects of C++. Java (as a platform) provides programmers with a large number of predefined packages that contain various type definitions. Using these types, Java programmers are able to build 100% Pure Java applications complete with database connectivity, messaging support, web-enabled front ends, and a rich user interface. Although Java is a very elegant language, one potential problem is that using Java typically means that you must use Java front-to-back during the development cycle. In effect, Java offers little hope of language integration, as this goes against the grain of Java s primary goal (a single programming language for every need). In reality, however, there are millions of lines of existing code out there in the world that would ideally like to commingle with newer Java code. Sadly, Java makes this task problematic. Pure Java is simply not appropriate for many graphically or numerically intensive applications (in these cases, you may find Java s execution speed leaves something to be desired). A better
You need excellent and relaible webhost company to host your web applications? Then pay a visit to Inexpensive Web Hosting services.

The Philosophy of .NET (Best web site) Every few years or

Saturday, December 29th, 2007

The Philosophy of .NET Every few years or so, the modern-day programmer must be willing to perform a self-inflicted knowledge transplant to stay current with the new technologies of the day. The languages (C++, Visual Basic 6.0, Java), frameworks (MFC, ATL, STL), and architectures (COM, CORBA, EJB) that were touted as the silver bullets of software development eventually become overshadowed by something better or at the very least something new. Regardless of the frustration you can feel when upgrading your internal knowledge base, it is unavoidable. The .NET platform is Microsoft s current offering within the landscape of software engineering. The point of this chapter is to lay the conceptual groundwork for the remainder of the book. It begins with a high-level discussion of a number of .NET-related topics such as assemblies, the common intermediate language (CIL), and just-in-time (JIT) compilation. In addition to previewing some key features of the C# programming language, you will also come to understand the relationship between various aspects of the .NET Framework, such as the common language runtime (CLR), the Common Type System (CTS), and the Common Language Specification (CLS). As you would hope, all of these topics are explored in further detail throughout the remainder of this text. This chapter also provides you with an overview of the functionality supplied by the .NET base class libraries, sometimes abbreviated as the BCL or alternatively as the FCL (being the Framework class libraries). Finally, this chapter investigates the language-agnostic and platform-independent nature of the .NET platform (yes it s true, .NET is not confined to the Windows operating system). Understanding the Previous State of Affairs Before examining the specifics of the .NET universe, it s helpful to consider some of the issues that motivated the genesis of Microsoft s current platform. To get in the proper mind-set, let s begin this chapter with a brief and painless history lesson to remember our roots and understand the limitations of the previous state of affairs (after all, admitting you have a problem is the first step toward finding a solution). After completing this quick tour of life as we knew it, we turn our attention to the numerous benefits provided by C# and the .NET platform. Life As a C/Win32 API Programmer Traditionally speaking, developing software for the Windows family of operating systems involved using the C programming language in conjunction with the Windows application programming interface (API). While it is true that numerous applications have been successfully created using this time-honored approach, few of us would disagree that building applications using the raw API is a complex undertaking. The first obvious problem is that C is a very terse language. C developers are forced to contend with manual memory management, ugly pointer arithmetic, and ugly syntactical constructs. Furthermore, given that C is a structured language, it lacks the benefits provided by the object-oriented 3 C H A P T E R 1
We highly recommend you visit web and email hosting services if you need stable and cheap web hosting platform for your web applications.

Introducing C# and the .NET Platform (Professional web hosting) P A

Friday, December 28th, 2007

Introducing C# and the .NET Platform P A R T 1
Please visit our professional web hosting services to find out about cheap and reliable webhost service that will surely answer all your demands.

Web hosting mysql - therefore an excellent choice for building platform- and

Friday, December 28th, 2007

therefore an excellent choice for building platform- and language-neutral distributed systems. You will also check out numerous surrounding technologies (WSDL, SOAP, and UDDI) that enable a web service and external client to communicate in harmony. Obtaining This Book s Source Code All of the code examples contained within this book (minus small code snippets here and there) are available for free and immediate download from the Source Code area of the Apress website. Simply navigate to http://www.apress.com, select the Source Code link, and look up this title by name. Once you are on the homepage for Pro C# 2005 and the .NET 2.0 Platform, Third Edition, you may download a self-extracting *.zip file. After you unzip the contents, you will find that the code has been logically divided by chapter. Do be aware that Source Code notes like the following in the chapters are your cue that the example under discussion may be loaded into Visual Studio 2005 for further examination and modification: Source Code This is a source code note referring you to a specific directory! To do so, simply open the *.sln file found in the correct subdirectory. Obtaining Updates for This Book As you read through this text, you may find an occasional grammatical or code error (although I sure hope not). If this is the case, my apologies. Being human, I am sure that a glitch or two may be present, despite my best efforts. If this is the case, you can obtain the current errata list from the Apress website (located once again on the homepage for this book) as well as information on how to notify me of any errors you might find. Contacting Me If you have any questions regarding this book s source code, are in need of clarification for a given example, or simply wish to offer your thoughts regarding the .NET platform, feel free to drop me a line at the following e-mail address (to ensure your messages don t end up in my junk mail folder, please include C# TE in the Subject line somewhere): atroelsen@IntertechTraining.com. Please understand that I will do my best to get back to you in a timely fashion; however, like yourself, I get busy from time to time. If I don t respond within a week or two, do know I am not trying to be a jerk or don t care to talk to you. I m just busy (or, if I m lucky, on vacation somewhere). So, then! Thanks for buying this text (or at least looking at it in the bookstore while you try to decide if you will buy it). I hope you enjoy reading this book and putting your newfound knowledge to good use. Take care, Andrew Troelsen INTRODUCTION xlv
From our experience, we can recommend PHP Web Hosting services, if you need affordable webhost to host and run your web application.

Web hosting companies - Chapter 20: Rendering Graphical Data with GDI+ This

Thursday, December 27th, 2007

Chapter 20: Rendering Graphical Data with GDI+ This chapter covers how to dynamically render graphical data in the Windows Forms environment. In addition to discussing how to manipulate fonts, colors, geometric images, and image files, this chapter examines hit testing and GUI-based drag-and-drop techniques. You will learn about the new .NET resource format, which as you may suspect by this point in the text is based on XML data representation. Chapter 21: Programming with Windows Forms Controls This final Windows-centric chapter will examine numerous GUI widgets that ship with the .NET Framework 2.0. Not only will you learn how to program against various Windows Forms controls, but you will also learn about dialog box development and Form inheritance. As well, this chapter examines how to build custom Windows Forms controls that integrate into the IDE. Chapter 22: Database Access with ADO.NET ADO.NET is the data access API of the .NET platform. As you will see, you are able to interact with the types of ADO.NET using a connected and disconnected layer. Over the course of this chapter, you will have the chance to work with both modes of ADO.NET, and you ll learn about several new .NET 2.0 ADO.NET topics, including the data provider factory model, connection string builders, and asynchronous database access. Part 5:Web Applications and XML Web Services Part 5 is devoted to the construction of ASP.NET web applications and XML web services. As you will see in the first two chapters of this section, ASP.NET 2.0 is a major upgrade from ASP.NET 1.x and includes numerous new bells and whistles. Chapter 23: ASP.NET 2.0 Web Pages and Web Controls This chapter begins your study of web technologies supported under the .NET platform using ASP.NET. As you will see, server-side scripting code is now replaced with real object-oriented languages (such as C#, VB .NET, and the like). This chapter will introduce you to key ASP.NET topics such as working with (or without) code-behind files, the role of ASP.NET web controls, validations controls, and interacting with the new master page model provided by ASP.NET 2.0. Chapter 24: ASP.NET 2.0 Web Applications This chapter extends your current understanding of ASP.NET by examining various ways to handle state management under .NET. Like classic ASP, ASP.NET allows you to easily create cookies, as well as application-level and session-level variables. However, ASP.NET also introduces a new state management technique: the application cache. Once you have looked at the numerous ways to handle state with ASP.NET, you will then come to learn the role of the System.HttpApplication base class (lurking within the Global.asax file) and how to dynamically alter the runtime behavior of your web application using the Web.config file. Chapter 25: Understanding XML Web Services In this final chapter of this book, you will examine the role of .NET XML web services. Simply put, a web service is an assembly that is activated using standard HTTP requests. The beauty of this approach is the fact that HTTP is the one wire protocol almost universal in its acceptance, and it is xliv INTRODUCTION
Searching for affordable and reliable webhost to host and run your web applications? Go to our java web server services and you will be pleased.

Chapter 14: Building Multithreaded Applications This chapter examines (Disney web site)

Wednesday, December 26th, 2007

Chapter 14: Building Multithreaded Applications This chapter examines how to build multithreaded applications and illustrates a number of techniques you can use to author thread-safe code. The chapter opens by revisiting the .NET delegate type in order to understand a delegate s intrinsic support for asynchronous method invocations. Next, you will investigate the types within the System.Threading namespace. You will look at numerous types (Thread, ThreadStart, etc.) that allow you to easily create additional threads of execution. Chapter 15: Understanding CIL and the Role of Dynamic Assemblies The goal of this chapter is twofold. In the first half (more or less), you will examine the syntax and semantics of CIL in much greater detail than in previous chapters. The remainder of this chapter covers the role of the System.Reflection.Emit namespace. Using these types, you are able to build software that is capable of generating .NET assemblies in memory at runtime. Formally speaking, assemblies defined and executed in memory are termed dynamic assemblies. Part 4: Programming with the .NET Libraries By this point in the text, you have a solid handle on the C# language and the details of the .NET assembly format. Part 4 leverages your newfound knowledge by exploring a number of namespaces within the base class libraries, including file I/O, the .NET remoting layer, Windows Forms development, and database access using ADO.NET. Chapter 16: The System.IO Namespace As you can gather from its name, the System.IO namespace allows you to interact with a machine s file and directory structure. Over the course of this chapter, you will learn how to programmatically create (and destroy) a directory system as well as move data into and out of various streams (file-based, string-based, memory-based, etc.). Chapter 17: Understanding Object Serialization This chapter examines the object serialization services of the .NET platform. Simply put, serialization allows you to persist the state of an object (or a set of related objects) into a stream for later use. Deserialization (as you might expect) is the process of plucking an object from the stream into memory for consumption by your application. Once you understand the basics, you will then learn how to customize the serialization process via the ISerializable interface and a set of new attributes introduced with .NET 2.0. Chapter 18: The .NET Remoting Layer Contrary to popular belief, XML web services are not the only way to build distributed applications under the .NET platform. Here you will learn about the .NET remoting layer. As you will see, the CLR supports the ability to easily pass objects between application and machine boundaries using marshal-by-value (MBV) and marshal-by-reference (MBR) semantics. Along the way, you will learn how to alter the runtime behavior of a distributed .NET application in a declarative manner using XML configuration files. Chapter 19: Building a Better Window with System.Windows.Forms This chapter begins your examination of the System.Windows.Forms namespace. Here you will learn the details of building traditional desktop GUI applications that support menu systems, toolbars, and status bars. As you would hope, various design-time aspects of Visual Studio 2005 will be examined, as well as a number of .NET 2.0 Windows Forms types (MenuStrip, ToolStrip, etc.). INTRODUCTION xliii
We would like to recommend you tested and proved virtual web hosting services, which you will surely find to be of great quality.

Chapter 9: Advanced C# Type Construction Techniques This (Net web server)

Tuesday, December 25th, 2007

Chapter 9: Advanced C# Type Construction Techniques This chapter deepens your understanding of the C# programming language by introducing a number of advanced programming techniques. For example, you will learn how to overload operators and create custom conversion routines (both implicit and explicit), build type indexers, and manipulate C-style pointers within a *.cs code file. Chapter 10: Understanding Generics As of .NET 2.0, the C# programming language has been enhanced to support a new feature of the CTS termed generics. As you will see, generic programming greatly enhances application performance and type safety. Not only will you explore various generic types within the System.Collections.Generic namespace, but you will also learn how to build your own generic methods and types (with and without constraints). Part 3: Programming with .NET Assemblies Part 3 dives into the details of the .NET assembly format. Not only will you learn how to deploy and configure .NET code libraries, but you will also come to understand the internal composition of a .NET binary image. This part also explains the role of .NET attributes and the construction of mutilthreaded applications. Later chapters examine some fairly low-level details (such as object context) and the syntax and semantics of CIL. Chapter 11: Introducing .NET Assemblies Froma very high level, assembly is the term used to describe a managed *.dll or *.exe file. However, the true story of .NET assemblies is far richer than that. Here you will learn the distinction between single-file and multifile assemblies, and how to build and deploy each entity. You ll examine how private and shared assemblies may be configured using XML-based *.config files and publisher policy assemblies. Along the way, you will investigate the internal structure of the global assembly cache (GAC) and the role of the .NET Framework 2.0 configuration utility. Chapter 12: Type Reflection, Late Binding, and Attribute-Based Programming Chapter 12 continues our examination of .NET assemblies by checking out the process of runtime type discovery via the System.Reflection namespace. Using these types, you are able to build applications that can read an assembly s metadata on the fly. You will learn how to dynamically activate and manipulate types at runtime using late binding. The final topic of this chapter explores the role of .NET attributes (both standard and custom). To illustrate the usefulness of each of these topics, the chapter concludes with the construction of an extendable Windows Forms application. Chapter 13: Processes, AppDomains, Contexts, and CLR Hosts Now that you have a solid understanding of assemblies, this chapter dives much deeper into the composition of a loaded .NET executable. The first goal is to illustrate the relationship between processes, application domains, and contextual boundaries. Once these terms have been qualified, you will then understand exactly how the CLR itself is hosted by the Windows operating system and deepen your understanding of mscoree.dll. The information presented here is a perfect lead-in to Chapter 14. xlii INTRODUCTION
We recommend cheap and reliable webhost to host and run your web applications: Coldfusion Web Hosting services.

Most popular web site - INTRODUCTION xli

Monday, December 24th, 2007

INTRODUCTION xli
If you are searching for cheap webhost for your web application, please visit MySQL5 Web Hosting services.

Chapter 13 . Running Gentoo Linux 371 With (Web hosting reseller)

Saturday, December 15th, 2007

Chapter 13 . Running Gentoo Linux 371 With the slant toward personal use, there is a lot of interest in Gentoo forums for configuring desktops, configuring multimedia applications, and getting popular games running. There are also significant discussions about securing Gentoo because most of its security tools don t come with friendly, graphical interfaces and require a lot of manual setup. Despite that fact that you can use Gentoo to create an extraordinarily efficient, finely tuned Linux desktop or server, the distribution is not yet widely accepted in business or educational institutions. There are probably several reasons for that: . Stability. To stay on the bleeding edge of the latest Linux software, Gentoo sacrifices the extreme level of stability demanded by most businesses. People I know who use Gentoo on their personal computers tend to use Debian or Fedora Core for small Web, file, or print servers when they do consulting work, and Red Hat Enterprise Linux or SUSE Linux for larger enterprise installations. . Support. There are no official support packages offered with Gentoo, so if something goes wrong, there is no official help available (although the forums can be quite helpful). . Training. If you are supporting a lot of machines, the people who support those machines will need training. Unlike Red Hat or SUSE Linux, you can t get training from the creators of Gentoo. So far, the factors just mentioned have kept Gentoo from making any significant inroads into enterprise computing. However, as a learning tool and a personal Linux distribution, Gentoo is hard to beat. What s in Gentoo No two Gentoo systems are alike because you can select and build only the pieces of Linux you want to use. Coming into 2005, there were more than 7,000 software packages available for the project, and the list was growing. Unlike distributions such as Red Hat and SUSE Linux, Gentoo tends to not force its own look-and-feel on the projects it includes. Each software package ported to a Gentoo system gives the user a view of the included open source software packages as they were intended from the individual projects. For example, a KDE desktop looks like a KDE desktop as it was delivered from the KDE project itself; there are no Gentoo menus and icons or graphical administration tools to alter it. Note
Note: If you are looking for cheap and reliable webhost to host and run your mysql application check mysql web server services.

Post office web site - 370 Part III . Choosing and Installing a

Friday, December 14th, 2007

370 Part III . Choosing and Installing a Linux Distribution . What hardware you might have. Most distributions install tons of modules to support hardware that you might someday add (it will load them as you need them into the kernel). It will also build a kernel for you that includes support for features that it believes you do need (for example, some distributions include ext3 file system report, expecting that to be your basic file system type). With Gentoo, you can choose exactly what features are in the kernel to support only the hardware you know you have. Likewise, you can get and install drivers for hardware if you decide to install that hardware later. . What services you want. Some Linux distributions suffer some performance problems by having processes taking up memory for services that you don t necessarily want (such as daemons for Web, file, print, and other server types). With Gentoo, you can be selective to a fine detail about the services that are installed and running on Gentoo (including the order in which they are started). . What software is available. Linux distributions such as Red Hat Enterprise Linux offer a preset selection of software packages that are well-tested and integrated into a set of CDs or DVDs. Gentoo has a massive repository of software packages from which you can choose the exact packages you need. Each package carries its own set of dependencies with it as well, so you don t have to add every library or utility to your system to support software you might want someday. With an Internet connection and the emerge tool, you can always add more software you need, when you need it. . What features are available. Because in Gentoo you are making decisions about what software you use at compile time, you can select to turn on or off optional features within each software component. For example, if you are building Mozilla mail, you can choose whether the package you build will include support for LDAP address books. In theory, removing support for unneeded features makes the software you end up with run faster and use less memory. The features just described help characterize the type of person who is attracted to Gentoo. Gentoo enthusiasts like to configure, tune, tweak, and update their Linux systems continuously, and Gentoo users generally end up with systems that run faster, take up less disk space, and run in less memory than would be the case with any other Linux that you just get off a shelf. Where Gentoo Is Used As you may have guessed by now, Gentoo is most popular with Linux enthusiasts as their personal Linux systems. Among Gentoo users you find those who like to tinker with desktops and run servers where performance is critical (such as game servers). Because Gentoo can be so easily configured and tuned, users can make very efficient Linux desktop and server systems that include only the software needed for the particular job.
If you are searching for cheap webhost for your web application, please visit MySQL5 Web Hosting services.