C# .NET Web Developer`s Guide P1

Chia sẻ: Thach Sau | Ngày: | Loại File: PDF | Số trang:30

lượt xem

C# .NET Web Developer`s Guide P1

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

The .NET platform is the foundation upon which the next generation of software will be built. Microsoft has invested a lot of capital in its development, and is putting its considerable weight behind its adoption as a new standard.

Chủ đề:

Nội dung Text: C# .NET Web Developer`s Guide P1

  1. 1 YEAR UPGRADE BUYER PROTECTION PLAN C# .NET We b D e v e l o p e r ’s G u i d e Develop and Deliver Enterprise-Critical Desktop and Web Applications with C# .NET • Complete Case Studies with Ready-to-Run Source Code and Full Explanations • Hundreds of Developing & Deploying, Migrating, and Debugging Sidebars, Security Alerts, and C# .NET FAQs • Complete Coverage of Web Services and the Integrated Development Environment (IDE) Adrian Turtschi DotThatCom.com Jason Werry Greg Hack Joseph Albahari Saurabh Nandu Technical Editor Wei Meng Lee Series Editor
  2. solutions@syngress.com With more than 1,500,000 copies of our MCSE, MCSD, CompTIA, and Cisco study guides in print, we continue to look for ways we can better serve the information needs of our readers. One way we do that is by listening. Readers like yourself have been telling us they want an Internet-based ser- vice that would extend and enhance the value of our books. Based on reader feedback and our own strategic plan, we have created a Web site that we hope will exceed your expectations. Solutions@syngress.com is an interactive treasure trove of useful infor- mation focusing on our book topics and related technologies. The site offers the following features: s One-year warranty against content obsolescence due to vendor product upgrades. You can access online updates for any affected chapters. s “Ask the Author” customer query forms that enable you to post questions to our authors and editors. s Exclusive monthly mailings in which our experts provide answers to reader queries and clear explanations of complex material. s Regularly updated links to sites specially selected by our editors for readers desiring additional reliable information on key topics. Best of all, the book you’re now holding is your key to this amazing site. Just go to www.syngress.com/solutions, and keep this book handy when you register to verify your purchase. Thank you for giving us the opportunity to serve your needs. And be sure to let us know if there’s anything else we can do to help you get the maximum value from your investment. We’re listening. www.syngress.com/solutions
  3. 1 YEAR UPGRADE BUYER PROTECTION PLAN C# .NET We b D e v e l o p e r ’s G u i d e Adrian Turtschi DotThatCom.com Jason Werry Greg Hack Joseph Albahari Saurabh Nandu Technical Editor Wei Meng Lee Series Editor
  4. Syngress Publishing, Inc., the author(s), and any person or firm involved in the writing, editing, or production (collectively “Makers”) of this book (“the Work”) do not guarantee or warrant the results to be obtained from the Work. There is no guarantee of any kind, expressed or implied, regarding the Work or its contents.The Work is sold AS IS and WITHOUT WARRANTY. You may have other legal rights, which vary from state to state. In no event will Makers be liable to you for damages, including any loss of profits, lost savings, or other incidental or consequential damages arising out from the Work or its contents. Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you. You should always use reasonable care, including backup and other appropriate precautions, when working with computers, networks, data, and files. Syngress Media®, Syngress®,“Career Advancement Through Skill Enhancement®,” and “Ask the Author UPDATE®,” are registered trademarks of Syngress Publishing, Inc. “Mission Critical™,”“Hack Proofing™,” and “The Only Way to Stop a Hacker is to Think Like One™” are trademarks of Syngress Publishing, Inc. Brands and product names mentioned in this book are trademarks or service marks of their respective companies. KEY SERIAL NUMBER 001 CDFE48952P 002 NHBN9436KH 003 BAEN24P7BV 004 HY9W84UJTA 005 RTW9B39RE4 006 JSE4FAHT82 007 VTS8TYCGF2 008 AUTGFLDCWR 009 833K74SLAF 010 VFR4MHY3XW PUBLISHED BY Syngress Publishing, Inc. 800 Hingham Street Rockland, MA 02370 C# .NET Web Developer’s Guide Copyright © 2002 by Syngress Publishing, Inc. All rights reserved. Printed in the United States of America. Except as permitted under the Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher, with the exception that the program listings may be entered, stored, and executed in a computer system, but they may not be reproduced for publication. Printed in the United States of America 1 2 3 4 5 6 7 8 9 0 ISBN: 1-928994-50-4 Technical Editor: Saurabh Nandu Freelance Editorial Manager: Maribeth Corona-Evans Co-Publisher: Richard Kristof Cover Designer: Michael Kavish Acquisitions Editor: Catherine B. Nolan Page Layout and Art by: Shannon Tozier Developmental Editor: Kate Glennon Copy Editor: Darren Meiss CD Production: Michael Donovan Indexer: Rich Carlson Distributed by Publishers Group West in the United States and Jaguar Book Group in Canada.
  5. Acknowledgments We would like to acknowledge the following people for their kindness and support in making this book possible: Richard Kristof and Duncan Anderson of Global Knowledge, for their generous access to the IT industry’s best courses, instructors, and training facilities. Ralph Troupe, Rhonda St. John, and the team at Callisma for their invaluable insight into the challenges of designing, deploying and supporting world-class enterprise networks. Karen Cross, Lance Tilford, Meaghan Cunningham, Kim Wylie, Harry Kirchner, Kevin Votel, Kent Anderson, and Frida Yara of Publishers Group West for sharing their incredible marketing experience and expertise. Mary Ging, Caroline Hird, Simon Beale, Caroline Wheeler,Victoria Fuller, Jonathan Bunkell, and Klaus Beran of Harcourt International for making certain that our vision remains worldwide in scope. Annabel Dent of Harcourt Australia for all her help. David Buckland,Wendi Wong, Marie Chieng, Lucy Chong, Leslie Lim, Audrey Gan, and Joseph Chan of Transquest Publishers for the enthusiasm with which they receive our books. Kwon Sung June at Acorn Publishing for his support. Ethan Atkin at Cranbury International for his help in expanding the Syngress program. Jackie Gross, Gayle Vocey, Alexia Penny, Anik Robitaille, Craig Siddall, Darlene Morrow, Iolanda Miller, Jane Mackay, and Marie Skelly at Jackie Gross & Associates for all their help and enthusiasm representing our product in Canada. Lois Fraser, Connie McMenemy, and the rest of the great folks at Jaguar Book Group for their help with distribution of Syngress books in Canada. v
  6. Contributors Todd Carrico (MCDBA, MCSE) is a Senior Database Engineer for Match.com. Match.com is a singles portal for the digital age. In addition to its primary Web site, Match.com provides back-end services to AOL, MSN, and many other Web sites in its affiliate program.Todd specializes in design and development of high-performance, high-availability data architectures primarily on the Microsoft technology. His background includes designing, developing, consulting, and project management for companies such as Fujitsu, Accenture, International Paper, and GroceryWorks.com. In addition to his contribution to C# .NET Web Developer’s Guide,Todd has also contributed chapters to other books in the Syngress .NET Series including the ASP .NET Web Developer’s Guide, and the VB .NET Developer’s Guide.Todd resides in Sachse,TX, with his wife and two children. Mark Tutt is a Senior Software Engineer with MICROS Systems. MICROS provides complete information management solutions for the hospitality industry, including software, hardware, enterprise systems integration, consulting, and support. Mark is the principle designer of a number of software packages, including Guest Service Solution, a customer relationship management system for the MICROS Restaurant Enterprise Series platform. In addition to his product development duties, Mark is a key contributor to the design and devel- opment of system integration software and customer-specific product exten- sions that allow MICROS clients to fully integrate MICROS products into their overall technology plans. Mark currently resides in Baltimore, Maryland with his wife Malinda and their twin sons, Fred and Jackson. Jason Werry (MCSD) runs a consulting firm, Synergy Data Solutions, in Australia. He currently provides strategic and technical consulting to his clients and specializes in Windows-based enterprise systems development. Jason has an extensive background using Microsoft technologies and is currently developing state-of-the-art,Web-based applications on the .NET platform. His clients have ranged from a Taiwanese multimedia company to various government depart- ments and local startups. A natural born programmer, Jason started coding Z80 processors in Assembly at age 13. Since then he has used most popular vi
  7. programming languages and presently enjoys working with SQL Server, MTS, IIS,Visual Basic, and C#. Jason holds a bachelor’s degree in Mathematics/ Computer Science from The University of Queensland. He dedicates his writing to his loving wife, LiHsing. Patrick Coelho (MCP) is an Instructor at The University of Washington Extension, North Seattle Community College, Puget Sound Center, and Seattle Vocational Institute, where he teaches courses in Web Development (DHTML, ASP, XML, XSLT, C#, and ASP .NET). Patrick is a Co-Founder of DotThatCom.com, a company that provides consulting, online development resources, and internships for students. He is currently working on a .NET solution with contributing author David Jorgensen and nLogix. Patrick holds a Bachelor’s of Science degree from the University of Washington, Bothell. Patrick lives in Puyallup,WA with his wife Angela. David Jorgensen (MCP) is an Instructor at North Seattle Community College, University of Washington extension campus, and Puget Sound Centers. He is also developing courses for Seattle Vocational Institute, which teaches .NET and Web development to the underprivileged in the Seattle area. David also provides internship opportunities through his company DotThatCom.com, which does online sample classes and chapters of books. David holds a bach- elor’s degree in Computer Science from St. Martin’s College and resides in Puyallup,WA with his wife Lisa and their two sons Scott and Jacob. Greg Hack is a Senior Software Engineer with Allscripts Healthcare Solutions. Greg has over 15 years experience developing software on platforms ranging from the mainframe to the desktop using a wide variety of languages and tech- nologies. Recent work includes a Web-based application that allows patients to view their medical records and a Pocket PC application that delivers clinical information to physicians at the point of care. Axel Goldbach is a Senior Consultant with modulo3 GmbH, a consulting company based in Germany and specializing in project management consulting throughout Europe. modulo3 is a process implementation specialist for the major networking frameworks, including eXtreme Programming, MSF and V Modell. Axel currently provides senior-level strategic and technical consulting to all modulo3 clients in Germany and Central Europe. His duties include anal- ysis and development of multi-tiered applications in heterogeneous environments. vii
  8. Axel also works as a technical scout and trainer for modulo3. His training spe- cialties include programming languages, networking, and academic fields such as development methodology, parser- and interpreter-technology, theory of com- plexity, and provable correct software. Joseph Albahari is a freelance consultant and developer with over 10 years experience in designing networked systems. He has led a string of successful projects, from custom application frameworks for start-up companies, to high- performance OLAP and data warehousing systems for telecommunications giants. His knowledge in object-oriented user interface design has been called upon in the planning or production of many large and complex systems, where well-balanced abstractions are of key importance. Joseph is also experienced in SQL Server database administration, and has developed high-performance solu- tions for clients with specialized requirements—such as a replication system providing field level synchronization, or a high-throughput bulk-copying agent. Joseph holds a Bachelor’s degree in computer science and physics. Adrian Turtschi (MCSE, MCSD) is Lead Architect Solution Development with Avanade (Germany), where he is responsible for the solution offering in the mobile computing space. He has been working on the Microsoft .NET platform since fall 2000, specializing in developing enterprise systems using Web Services. He is particularly interested in using Web Services to bridge platform and system boundaries. Prior to joining Avanade, Adrian worked for KPMG’s Global Knowledge Exchange in Boston, where he helped design and develop KPMG's global knowledge management and collaboration solution, used by its 100,000 professionals world-wide. Adrian has work experience in Switzerland, the Netherlands, and the US. He has degrees in Mathematics and Computer Science. He currently lives in Berlin, Germany. viii
  9. Technical Editor and Reviewer Saurabh Nandu is the Founder of www.MasterCSharp.com which concen- trates on teaching C# and .NET. He worked with HTML, JavaScript, Flash 5.0 before he started programming in Java. Saurabh has been impressed by the power and flexibility of .NET. He is currently employed by YesSoftware Inc. as Technical Evangelist. Technical Editor’s Acknowledgements I would like to thank my friend Nanu Jogi without whose direction I would have never got into working on the .NET Platform. I would also like to thank my family, especially my brother Pritesh, for their support. Series Editor Wei Meng Lee is Series Editor for Syngress Publishing’s .NET Developer Series. He is currently lecturing at The Center for Computer Studies, Ngee Ann Polytechnic, Singapore.Wei Meng is actively involved in Web development work and conducts training for Web developers and Visual Basic programmers. He has co-authored two books on WAP. He holds a Bachelor’s degree in Information Systems and Computer Science from the National University of Singapore.The first and second books of the .NET series, VB .NET Developer’s Guide (ISBN: 1-928994-48-2), and ASP .NET Developer’s Guide (ISBN: 1-928994-51-2) are currently available from Syngress Publishing. ix
  10. About the CD This CD-ROM contains the code files that are used in each chapter of this book.The code files for each chapter are located in a chXX directory (for example, the files for Chapter 8 are in the ch08 directory). Any further directory structure depends on the pro- jects that are presented within the chapter. To work with the examples provided, you will need at least the Windows 2000 or Windows XP Professional operating system with the latest service packs, IIS 5.x, and IE 6.0, since ASP.NET and Web Services (a part of ASP.NET) are not supported on earlier operating systems such as Windows 9x/WindowsME/WindowsNT. Also needed is the .NET SDK Beta2 (the latest public release available while writing this book) and the Visual Studio.NET Beta2 IDE. The C# .NET Web Developer’s Guide provides you with extensive examples that will help solve the problems you might face while developing applications for the .NET Platform rather than concentrating on the theory of C# and .NET programming. Therefore code is the main feature of this book. The chapters contain both code snippets and sample programs that illustrate the principles discussed. Chapter 2 presents a series of sample programs that introduce con- cepts in C# that are different from other object-oriented languages. Chapter 4 helps you understand the basics of building Graphical User Interface (GUI)-rich Windows Forms applications; the examples presented in this chapter are the launch pad for Windows Forms applications used in other chapters. Similarly, code presented in Chapter 8 helps you to interact with various databases using ADO.NET; again, this chapter acts as a foun- dation for further chapters’ database coverage. Chapter 9 will acquaint you with using .NET Class Libraries to interact with XML and its related technologies. Chapters 5, 6, and 11 discuss technologies and Application Program Interfaces (APIs) that help two applications to communicate and interact with each other. Chapter 5 focuses on enabling applications to communicate over the TCP and UDP protocols and provides an overview of the techniques used to interact with Web pages programmatically. Code examples in Chapter 6 and Chapter 11 concentrate on using Simple Object Access Protocol (SOAP) and object serialization and deserialization. x
  11. Chapter 7 examples examine message delivery in distributed applications using Microsoft Message Queuing (MSMQ). Chapter 10 takes a comprehensive look at ASP.NET and helps you build various applications of increasing complexity and func- tionality, starting with an XML Poll, progressing to a SQL-powered Message Board, and ending with a Shopping Cart. Lastly, to end on a lighter note, Chapter 12 takes you through building a Jokes Web Service.The code in this chapter helps you build both the Jokes Web Service as well as the Windows Forms Client for the service. Look for this CD icon to obtain files used in the book demonstrations. xi
  12. From the Series Editor For many years, C and C++ programmers have been searching for alternative pro- gramming languages that offer the same kind of flexibility and power of C and C++, but without the complexities and steep learning curve required for mastery of the language.What many programmers desired was a language that would allow applica- tions to be built rapidly, but at the same time giving them the ability to code at low level.The search has finally ended with Microsoft’s new language—C#, a member of the .NET Framework. C# is the revolutionary new language from Microsoft, designed solely to run on the .NET framework. Drawing experiences from C, C++, and Visual Basic, C# was designed to be a simple and modern object oriented programming language. But why learn C#? With the integration of C# and the Visual Studio.NET (known as Visual C#), developing Windows and Web applications has been radically simplified.With full access to the .NET Class Libraries, C# includes built-in support for developing robust Web services and ASP.NET applications. (It was reportedly said that Visual Studio.NET was built entirely using C# and that most of the examples in MSDN were coded in C#.That in and of itself is a very good reason to learn C#!) Besides this, C# enhances the productivity of programmers by eliminating common errors often associated with C and C++. While many of the earlier C# books have primarily focused on the language syntax, The C# .NET Web Developer’s Guide illustrates the uses of C# for Web devel- opers looking to harness the new functionality and ease of this powerful program- ming language.The best way to learn a new language is by trying out the examples while you are reading this book.Within many chapters, you will find numerous code examples used in various practical situations; this hands-on, code-intensive approach allows you to have a deeper understanding of issues involved in C# Web develop- ment, and at the same time allows you to cut and paste portions of applicable code into your current projects, thereby shortening development time. We are constantly working hard to produce the best technical books needed by professional programmers like you. I sincerely hope you will enjoy reading this book as much as the authors did writing it! Wei Meng Lee, Series Editor Syngress .NET Developer Series xii
  13. Foreword Seldom in the history of computer software has any technology received such a posi- tive response from developers and the industry, even while the technology is still in its nascent beta stage.The .NET Beta2 SDK from Microsoft has already been down- loaded by millions of developers all over the world.There have been dozens of pub- lished books,Web sites and newsgroups devoted to the .NET platform, its related technologies and languages. Microsoft has invested billions of dollars and years of research in the creation of .NET. .NET is a comprehensive strategy ,consisting of operating systems, database servers, application servers, and the .NET Runtime, as well as managed languages that operate over the .NET platform. Many people see the .NET platform as the practical implementation of the pre- viously formulated Windows DNA. Others see it as a response to developer woes from working with previous technologies and languages. However, the common opinion simply offers that .NET is a significant improvement over previous Microsoft technologies.The .NET platform has been built from the ground up with numerous goals in mind, including security, scalability, reliability, flexibility, and interoper- ability—these goals have all been dealt with from the start to help to make the .NET platform enterprise ready and developer-friendly. The .NET platform displays a significant shift in Microsoft’s thinking.While building the .NET platform, Microsoft has shown strong support for open standards like XML, SOAP, and UDDI, rather than building its own proprietary standards and technologies. Even the core part of the .NET platform—the Common Language Infrastructure (CLI)—and the C# specifications have been placed before ECMA for standardization. C# is defined as a simple, modern, object-oriented, and type-safe programming language derived from C and C++. Developed by Anders Hejlsberg of Microsoft especially for the .NET platform, C# derives its features from a number of languages xxi
  14. xxii Preface like C, C++, and Java. Specifically written to offer the simplicity of Visual Basic and power of C++ as an object-oriented language, C# makes it easier for developers to create, debug, and deploy enterprise applications. It has also been predicted that C# will become the favored language for developing applications on the .NET platform. Visual Studio.NET, the next version of Visual Studio IDE, is also a key compo- nent of the .NET strategy.The Visual Studio.NET IDE has also been given a facelift and packed with a wide variety of new functionalities. A bitmap editor, debugger, Web Forms designer,Windows Forms designer,Web Services designer, XML editor, HTML editor,Web browser, Server Resources Explorer, and multi-language support have all been packed into one single IDE. The focus of The C#.NET Web Developer’s Guide is not on teaching you the core C# language, but rather providing you with code examples that will help you leverage the functionalities of the .NET Framework Class Libraries.The .NET Framework collection of base classes cover many of the multiple APIs. Although impossible for one book to cover all the features, in this book we have covered the key concepts, libraries, and APIs of the .NET Framework that we feel will help you easily create new applications using C#. You have a whole host of features to learn and master, so why wait? Let’s get started!! —Saurabh Nandu,Technical Editor Founder, www.MasterCSharp.com www.syngress.com
  15. Contents Foreword xxi Chapter 1 Introducing the Microsoft .NET Platform 1 Introduction 2 Introducing the.NET Platform 2 Microsoft .NET and Windows DNA 3 Microsoft .NET Architecture Hierarchy 4 Features of the .NET Platform 5 Multilanguage Development 5 Platform and Processor Independence 7 Automatic Memory Management 7 Versioning Support 8 Support for Open Standards 9 Easy Deployment 9 Distributed Architecture 10 Interoperability with Unmanaged Code 11 Security 12 Performance and Scalability 14 Components of the .NET Architecture 14 .NET Runtime 14 Managed/Unmanaged Code 14 Intermediate Language 15 Common Type System 15 .NET Base Class Library (BCL) 15 Assemblies 16 Metadata 16 Assemblies and Modules 17 Assembly Cache 18 Reflection 19 Just In Time Compilation 19 Garbage Collection 20 Exploring the Code Cycle 21 The Pursuit of Standardization 24 Summary/Solutions Fast Track/Frequently Asked Questions 26 Chapter 2 Introducing C# Programming 33 Introduction 34 Getting Started 35 Creating Your First C# Program 37 Compiling and Executing 38 Defining a Class 40 Declaring the Main Method 43 Organizing Libraries with Namespaces 43 xiii
  16. xiv Contents Using the using Keyword 44 Adding Comments 45 Introducing Data Types 47 Value Types 47 Primitive Data Types 47 Reference Types 48 Explaining Control Structures 49 Using the if Statement 49 Using the if-else Statement 50 Using the switch case Statement 50 Using the for Statement 51 Using the while Statement 52 Using the do while Statement 52 Using the break Statement 52 Using the continue Statement 53 Using the return Statement 54 Using the goto Statement 55 Understanding Properties and Indexers 56 Using Properties 56 Get Accessor 59 Set Accessor 59 Accessing Lists with Indexers 60 Using Delegates and Events 69 Delegates 70 Single Cast 74 Multicast 75 Events 79 Using Exception Handling 85 Using the try Block 89 Using the catch Block 89 Using the finally Block 89 Using the throw Statement 89 Understanding Inheritance 90 Summary/Solutions Fast Track/Frequently Asked Questions 104 Chapter 3 Visual Studio.NET IDE 109 Introduction 110 Introducing Visual Studio.NET 110 Components of VS.NET 112 Design Window 112 Code Window 113 Server Explorer 114 Toolbox 116 Docking Windows 117 Properties Explorer 117 Solution Explorer 118 Object Browser 119 Dynamic Help 120 Task List Explorer 121
  17. Contents xv Features of VS.NET 122 IntelliSense 122 XML Editor 124 Documentation Generation (XML Embedded Commenting) 127 Adding XML Document Comments to C# Pages 127 Customizing the IDE 129 Creating a Project 130 Projects 130 Creating a Project 130 Add Reference 131 Build the Project 131 Debugging a Project 132 Summary/Solutions Fast Track/Frequently Asked Questions 133 Chapter 4 Windows Forms 137 Introduction 138 Introducing Windows Forms 138 Writing a Simple Windows Forms Application 141 Adding Controls 142 Adding an Event Handler 145 Adding Controls at Runtime 147 Attaching an Event Handler at Runtime 152 Writing a Simple Text Editor 154 Starting the Project 154 Creating a Menu 155 Adding a New Form 157 Creating a Multiple Document Interface 159 Creating a Dialog Form 160 Using Form Inheritance 162 Adding a TabControl 164 Anchoring Controls 166 Changing the Startup Form 167 Connecting the Dialog 167 Using the ListView and TreeView Controls 170 Building an ImageList 170 Adding a ListView 172 Using the Details View 173 Attaching a Context Menu 174 Adding a TreeView 175 Adding a Splitter 177 Implementing Drag and Drop 178 Creating Controls 181 Creating a User Control 181 Adding a Property 182 Adding Functionality 182 Writing a Custom Control 183 Testing the Control 187 Enhancing the Control 189 Subclassing Controls 191
  18. xvi Contents Custom Controls in Internet Explorer 193 Setting Up IIS 193 Creating a Virtual Directory 193 Writing a Test Page 194 Summary/Solutions Fast Track/Frequently Asked Questions 196 Chapter 5 Network Programming: Using TCP and UDP Protocols 203 Introduction 204 Introducing Networking and Sockets 204 Introduction to TCP 206 Introduction to UDP 208 Introduction to Ports 211 System.Net Namespace 212 System.Net.Sockets Namespace 213 Example TCP Command Transmission and Processing 214 General Usage of Needed .NET Classes 216 The Server 217 The Client 220 Compiling and Running the Example 226 Example UDP Command Transmission and Processing 227 General Usage of Needed .NET Classes 228 The Server 229 The Client 231 Compiling and Running the Example 234 Creating a News Ticker Using UDP Multicasting 235 General Usage of Needed .NET Classes 236 The Server 240 The Client 243 Compiling and Running the Example 250 Creating a UDP Client Server Chat Application 250 The TCPServerSession Class 253 The TCPServer Class 256 The Chat Protocol 260 The ChatServer Class 260 The ChatClient Class 265 Compiling and Running the Example 268 Creating a TCP P2P File Sharing Application 269 The Remote File Stream Protocol 271 The RemoteFileStreamServer Class 272 The RemoteFileStreamProxy Class 276 The FileSharingPeer Class 279 Compiling and Running the Example 283 Access to Web Resources 283 General Usage of Needed .NET Classes 284 A Web Access Client 285 Compiling and Running the Example 289 Request Method 290 Redirection 290
  19. Contents xvii Authentication 291 Cookies 291 Summary/Solutions Fast Track/Frequently Asked Questions 292 Chapter 6 Remoting 299 Introduction 300 Introducing Remoting 301 Remoting Architecture 302 Creating a Simple Remoting Client Server 303 Creating the Remote Server Object 303 Creating the Hosting Application 305 Creating the Client Application 306 Understanding the Remoting Code 308 Improving the Sample Application 310 Adding Event Logging and Error Handling 310 Using the soapsuds Tool 312 Using Configuration Files 313 Updating Configuration Files Using the .NET Framework Configuration Tool 318 Changing the Hosting Application to a Service 319 Using the TCP Channel with the Binary Formatter 321 Summary of the Improved Sample Application 321 Creating an Intranet Application 321 Object Lifetime and Leasing 321 Creating the CountServer Project 322 Creating the CountHost Project 325 Creating the CountClient Project 326 Understanding the Leasing and Sponsorship Code 329 Client Activated Objects 331 Sending and Receiving Objects by Value 332 Sending and Receiving Objects by Reference 333 Creating Service-Based Applications 334 Building a Versioned Remoting Application 334 Creating the VersionHost Project 336 Creating the VersionClient Project 337 Testing Side-By-Side Execution of Remote Objects 339 Summary/Solution Fast Track/Frequently Asked Questions 340 Chapter 7 Message Queuing Using MSMQ 345 Introduction 346 Introducing MSMQ 346 MSMQ Architecture 348 Installing MSMQ 349 Using Visual Studio to Manage Queues 349 Creating a Simple Application 349 Understanding the Messaging Code 353 Sending Messages 353 Message Formats 355 Sending and Receiving Messages with Complex Objects 356 Storing Files within Messages 360
Đồng bộ tài khoản