You are previewing Visual Basic® .NET Power Coding.
O'Reilly logo
Visual Basic® .NET Power Coding

Book Description

Visual Basic® .NET Power Coding is the experienced developer's guide to mastering advanced Visual Basic .NET concepts. Paul Kimmel saves readers time and money by providing thorough explanations of essential topics so you can quickly begin creating robust programs that have fewer bugs. He also demonstrates important concepts by using numerous real-world examples that include working code that has been tested against Visual Basic .NET 2003.

After a brief review of language idioms, Kimmel moves to more advanced techniques that help programmers solve their most challenging problems. Central to advanced development and deployment are chapters on security, Web services, ASP.NET programming, COM Interop, and Remoting. This book also covers thin client programming, which offers businesses a real solution to managing deployment and upgrades with Windows Forms using Reflection and HTTP. An appendix walks readers through migrating Visual Basic 6.0 applications to Visual Basic .NET. A companion Web site includes the complete downloadable source code, extensive reusable examples, and updates from the author.

This book can be read cover-to-cover or used as a reference to answer questions faced by experienced VB .NET developers, including:

  • Chapter 4: What can you do with Reflection technology?

  • Chapter 6: How can you safely incorporate multithreaded behavior into Visual Basic .NET applications?

  • Chapter 8: How would you serialize objects and implement Remoting for distributed projects?

  • Chapter 14: How do you return an ADO.NET DataSet from a Web service?

  • Chapter 18: What are the best practices for securing Web applications?

  • Visual Basic® .NET Power Coding empowers developers to exploit all the advanced features of Visual Basic .NET.



    0672324075B06062003

    Table of Contents

    1. Copyright
    2. Preface
    3. Power Language Essentials
      1. Basic Language Constructs
        1. Introduction
        2. Declaring Variables
        3. Value Types and Reference Types
        4. Defining Structures and Classes
        5. Understanding Object-Oriented Concepts
        6. Intermediate Language
        7. Summary
      2. Inheritance and Interfaces
        1. Introduction
        2. Inheriting Classes
        3. Inheritance versus Aggregation
        4. Defining Interfaces
        5. Implementing Interfaces
        6. Inheriting Interfaces
        7. Multiple Interface Inheritance
        8. Comparing Abstract Classes to Interfaces
        9. Summary
      3. Delegates
        1. Introduction
        2. Implementing Event Handlers
        3. Using the WithEvents Statement
        4. Adding and Removing Event Handlers
        5. Declaring Events in Classes, Structures, and Interfaces
        6. What Are Delegates?
        7. Exploring Existing Delegate Types
        8. Delegates for Multithreading
        9. Summary
      4. Reflection
        1. Introduction
        2. Implicit Late Binding
        3. Discovering Type Information at Runtime
        4. Loading Assemblies
        5. Reviewing the Binder Class
        6. Using the DefaultMemberAttribute
        7. Reflecting Members
        8. Practical Applications of Reflection
        9. Reflecting Custom Attributes
        10. Understanding Reflection and Security
        11. Emitting IL Code at Runtime
        12. Summary
      5. Attributes
        1. Introduction
        2. Applying Attributes
        3. Using Assembly Attributes
        4. Creating an About Dialog with Assembly Attributes
        5. Creating Custom Attributes
        6. Reflecting Attributes
        7. Emitting Attributes to IL
        8. Emitting Attributes by Using the CodeDom Classes
        9. Attributes and Declarative Security
        10. Summary
      6. Multithreading
        1. Introduction
        2. Familiar Slight of Hand with the Timer Control
        3. Comparing Synchronous and Asynchronous Behavior
        4. Processing Asynchronously in the .NET Framework
        5. Programming with Threads
        6. Multithreading in Windows Forms
        7. Summary
    4. Solution Building
      1. COM Interop
        1. Introduction
        2. Calling COM from .NET Code
        3. Calling .NET Code from COM
        4. Understanding Error Handling in COM Interop
        5. Importing ActiveX Controls into .NET
        6. Debugging Interoperable Components
        7. Additional Topics
        8. Summary
      2. Remoting
        1. Introduction
        2. Understanding .NET Remoting
        3. Marshaling Objects by Reference
        4. Marshaling Objects by Value
        5. Writing to the Event Log
        6. Handling Remote Events
        7. Other Remoting Subjects
        8. Summary
      3. Building Custom Components
        1. Introduction
        2. Implementing a Custom Component
        3. Implementing a Custom Windows Control
        4. Adding a Control to the Toolbox
        5. Implementing a Custom Windows User Control
        6. Examining Control Attributes
        7. Using the UITypeEditor Class
        8. Implementing Type Conversion
        9. Implementing an Extender Provider
        10. Creating a Windows Control Designer
        11. Using Default Properties
        12. Implementing Custom Web Controls and Custom Web User Controls
        13. Summary
      4. Auto-Updating Smart Clients in .NET
        1. Introduction
        2. Implementing a Hello, World! Thin Client
        3. Configuring Smart Client and Server Precursors
        4. Considering a Generic Application Loader
        5. Creating a Microsoft Installer File to Manage Security Policies
        6. Handling COM Components
        7. Other Ideas
        8. Summary
      5. ADO.NET Database Programming
        1. Introduction
        2. Fundamentals of ADO.NET
        3. Defining a Database Connection
        4. Filling a DataSet Object with an Adapter
        5. Using the DataReader Class
        6. Using the DataTable and DataView Classes
        7. Defining Database Relationships
        8. Using Command Objects
        9. Generating SQL with a Command Builder
        10. Updating a DataSet
        11. Adding Data to a DataSet
        12. Sorting and Filtering a DataSet
        13. Summary
      6. Advanced ADO.NET
        1. Introduction
        2. Updating a DataView
        3. Programming with Stored Procedures
        4. Debugging Stored Procedures in Visual Studio .NET
        5. Using Transactions
        6. Creating a Typed DataSet
        7. Serializing a DataSet
        8. Programming with ADO.NET Interfaces
        9. Summary
    5. Web Programming
      1. Creating Web Services
        1. Introduction
        2. Finding Web Services
        3. Consuming Existing Web Services
        4. Creating a Web Service Application
        5. Debugging and Testing Web Services
        6. Deploying Web Services
        7. Understanding XML Web Services and Security
        8. Summary
      2. Advanced Web Services
        1. Introduction
        2. Returning Simple Data from Web Services
        3. Returning Complex Data from a Web Service
        4. Writing Web Services That Use DataSet Objects
        5. Modifying the Proxy Class to Return Fat Objects
        6. Returning a Strongly Typed Collection
        7. Invoking Web Services Asynchronously
        8. Summary
      3. Building ASP.NET Web Applications
        1. Introduction
        2. Designing the Screen Layout
        3. Creating the Presentation with User Controls
        4. Handling Application-Level Events
        5. Caching Objects
        6. Using Dynamic Interfaces with XML
        7. Securing a Web Application with Forms Authentication
        8. Summary
      4. Combining ADO.NET and ASP.NET
        1. Introduction
        2. Connecting to a Database
        3. Using the DataView Class
        4. Binding Data to Single-Value Web Controls
        5. Binding Data to Multi-Value Web Controls
        6. Paging and Sorting with DataGrid Controls
        7. Using a DataList Control to Repeat Composite Controls
        8. Converting Bound Columns to Template Columns
        9. Managing Round-Trips to the Server
        10. Summary
    6. Debugging and Administration
      1. Debugging .NET
        1. Introduction
        2. Viewing Debug Windows
        3. Managing Breakpoints
        4. Using Edit and Continue Behavior
        5. Debugging, Asserting, and Tracing
        6. Programming with Trace Listeners
        7. Managing Debug Code with Boolean Switches
        8. Logging Application Events
        9. Using Performance Counters
        10. Using the Process Class
        11. Attaching to a Running Process
        12. Debugging Windows Applications
        13. Debugging Web Applications
        14. Debugging Multi-Language Programs
        15. Additional Topics
        16. Summary
      2. Code Access Security
        1. Introduction
        2. What Is Code Access Security?
        3. Programming Defensively
        4. Managing Security Policy
        5. Comparing Declarative and Imperative Security
        6. Using Code Access Security Demands
        7. Using Code Access Security Asserts
        8. A Brief Review of Other Security Actions
        9. General Recommendations
        10. Summary
      3. Migrating Visual Basic 6 Applications to Visual Basic .NET
        1. Introduction
        2. Before You Migrate
        3. Visual Basic 6 Features Not Supported in .NET
        4. Migrating Visual Basic 6 Windows Applications
        5. Migrating Visual Basic 6 ASP Web Applications
        6. Summary
      4. Bibliography