Using Query Notifications and Synchronizing Data with Visual Basic

Embed Size (px)

Citation preview

Content/cca/sd_mand_a06_it_enus/output/blank_logo.gif

Content/cca/sd_mand_a06_it_enus/output/html/about_course.html

Content/cca/sd_mand_a06_it_enus/output/html/about_course_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008About This Course

Overview/Description:

Query notifications, coupled with ADO.NET synchronization services, allow developers to create applications with the ability to display up-to-date data at all times. This course examines how to use query notifications with SQL Server and how to enable efficient, remote use of data using synchronization services. Specific topics covered include using query notifications, and SqlDependency and SqlCacheDependency. Topics also look at the various aspects of synchronizing data, including creating a synchronization services application and configuring synchronization in Visual Studio.

This course is one of a series in the SkillSoft learning path that covers the objectives for the Technology Specialist (TS): Microsoft .NET Framework 3.5, ADO.NET Application Development 70-561. Passing this exam will earn the learner credit towards the MCTS: .NET Framework 3.5, ADO.NET Applications certification.

Target Audience:

All organizations or individual consultants who are building or intend to build .NET Framework 3.5 applications with ADO.NET, Visual Studio 2008 and Visual Basic 2008; corporate employees, consultants, and university or college students who are preparing for the Technology Specialist (TS): Microsoft .NET Framework 3.5, ADO.NET Application Development 70-561.

Published Duration:

2.0 hours

First publication date:

2009-01-07

Last revision:

2009-01-07

Course Number:

sd_mand_a06_it_enus

Copyright 2009 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/acknowledgements.html

Content/cca/sd_mand_a06_it_enus/output/html/acknowledgements_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Acknowledgements

Copyright 2009 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/copyrights.html

Content/cca/sd_mand_a06_it_enus/output/html/copyrights_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Copyrights

Copyright 19992009 SkillSoft Corporation

SkillSoft Corporation

107 Northeastern Blvd

Nashua, NH 03062

Phone: 603-324-3000

Fax: 603-324-3210

SkillSoft U.K. Ltd.

EMEA Headquarters (U.K)

Compass House

2nd Floor

207-215 London Road

Camberley

GU15 3EY

Phone: +44 (0) 127 640 1950

Fax: +44 (0) 127 640 1951

[email protected]

SkillSoft Asia Pacific Pty. Limited

Level 1

71 Epping Road

North Ryde NSW 2113

Sydney Australia

(PO Box 365 North Ryde NSW 2113)

Phone: + 61 2 9941 6333

Fax: +61 2 9887 1780

[email protected]

http://www.skillsoft.com

All rights reserved. No part of this product may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopy, recording, broadcasting, or by any information storage or retrieval system, without permission in writing from SkillSoft Corporation.

Trademarks and servicemarks

SkillSoft, Search and Learn, SkillPort, Ahead of the Learning Curve, SkillChoice, SkillStudio, Books 24x7, Referenceware, ITPro, BusinessPro, Office Essentials, and Express Guides are trademarks or registered trademarks of SkillSoft.

This product contains elemedia SX7300P Speech CODEC software from Agere Systems, Inc. Copyright 19962004 Agere Systems, Inc. Elemedia is a trademark of Agere Systems, Inc. All Rights Reserved.

Except as otherwise specified, names, marks, logos and the like used in the educational/teaching content of these materials are intended to be, and to the best of Licensor's [SkillSoft's] knowledge and belief are, fictitious. None of the names, marks, or logos used herein is intended to depict any past or present individual or entity, or any trademark, service mark, or other protectable mark of any individual or entity. Any likeness, similarity or sameness between any name, mark, or logo used herein by Licensor [SkillSoft] and the name, mark, or logo of any individual or entity, past or present, is merely coincidental and unintentional. Any such names, marks, and logos used in the educational/teaching content of these materials are used only to provide examples for purposes of teaching the educational content of the materials, and are in no way intended to be used in any trademark sense or manner.

Names used in examples

The names of actual past or present individuals, entities, trademarks, service marks, logos and the like (other than those of Licensor [SkillSoft]) used in the educational/teaching content of these materials are used only to provide examples (including in some instances actual case studies based upon factual events or circumstances involving the individuals, entities, marks, or logos) for purposes of teaching the educational content of the materials. Any such names, marks, and logos used in the educational/teaching content of these materials are intended and used solely for the purpose of providing examples and case studies, and are in no way intended to be used in any trademark sense or manner.

Trade secrets

The software and technology used to implement this product contains trade secrets that SkillSoft considers to be confidential and proprietary information. Your right to use this material is subject to the restrictions in the license agreement under which you obtained it.

Copyright 2009 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/course_obj.html

Content/cca/sd_mand_a06_it_enus/output/html/course_obj_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Course Objectives

Lesson: Using Query Notifications With SQL Server Data

After completing this topic, you should be able to

recognize the code for executing a SqlCommand with a SqlNotificationRequest

recognize the steps for using SqlDependency to detect changes

identify the steps for using a SqlCacheDependency object

Lesson: Synchronizing Data

After completing this topic, you should be able to

recognize the benefits and uses of Microsoft Synchronization Services for ADO.NET

identify the architectural requirements for implementing client and server synchronization

recognize the uses and benefits of classes used in Synchronization Services

recognize the steps for creating synchronization tables and groups

recognize the steps for retrieving an anchor value and creating a synchronization adapter

recognize the steps for coding statistics and events

recognize the steps for building a basic synchronization services application

recognize the steps for configuring the cache for synchronization using Microsoft Synchronization Services

Copyright 2009 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/followons.html

Content/cca/sd_mand_a06_it_enus/output/html/followons_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Follow-on Activities

Copyright 2009 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/glossary.html

This page contains a JavaScript function that prints out the current frame document. To print out the document without using JavaScript, you need to press Control P.

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Glossary

ABCDEFGHIJKLMNOPQRSTUVWXYZ#

A

access control

A process of ensuring that only authorized users can access authorized resources.

access control entities

A security component that consists of group and user SIDs and their object permissions.

access control list

Abbreviated to ACL, A set of data associated with a file, directory or other network resource that defines the permissions that users, groups, processes or devices have for accessing it.

access modifier

A keyword Access Modifiers are the keywords such as Private, Public etc that can be applied over a function, procedure or a variable etc to limit its scope.

access token

A security component used to access system resources, and which is given to users only when they authenticate themselves during login.

AccessControlSections

See System.Security.AccessControl.

AccessControlSections enumerator

Located in the System.Security.AccessControl namespace, an enumerator used to retrieve only the discretionary ACL (DACL), the system ACL (SACL), the primary group, or the owner from the security descriptor for a file.

AccessDataSource

A class that serves to represent the data provided by an Access database when dealing with data-bound web controls

accessibility

Accessibility is a general term used to describe the degree to which a system is usable by as many users as possible without modification.

accessor

Code that accesses data within or components of a class or object. See also mutator.

ACL

See access control list.

active content

Program code that is embedded in a web page's content.

Active Server Pages

See ASP.

ActiveX

A common type of active content developed by Microsoft. In the ActiveX model, a web page has a number of objects called controls. When a user connects to a web page, any controls present are downloaded and executed.

ActiveX Data Objects

See ADO.

Add-in

Customized or automated time and labor-saving applications attached to and used with Visual Studio IDE tools such as the Text Editor, Output Window, Task List, and Code Model.

ADO

An abbreviation for ActiveX Data Objects, a database interface that is used to connect to, retrieve, update, and delete data from a database.

ADO.NET

A set of classes that together enable applications to interact with the information stored in a database.

AES Algorithm

See Rijndael algorithm.

AJAX

An abbreviation for Asynchronous JavaScript and XML. It is a web development technique for creating interactive web applications. Microsoft uses ASP.NET AJAX which integrates AJAX into the ASP.NET framework, thereby making it easier for ASP.NET developers to add AJAX to existing applications. Visual Studio 2008 includes support for AJAX components.

Anonymous types

Anonymous types are a new programming feature of .NET 3.5 that allows developers to define new object types in code without having to create a formal class definition.

API

See application programming interface.

application

A program that performs a function for a user or another application. An application performs its functions by using the operating system of a computer or supporting applications.

application programming interface

Abbreviated to API, the language and message format used by an application, and a set of standard software interrupts, calls, data formats and routines that an application uses to request services performed by the operating system.

ApplicationAccessControl

An attribute that controls whether security should be enabled, the level of the security, and the levels of authentication and impersonation for an application.

argument

Information that matches a parameter and is used as input when passing data to a script or procedure.

ASP

Abbreviation for Active Server Pages. It enables interactive sessions with web pages and provides a programming language that can integrate with HTML, and enhances the scope of messaging and collaboration services.

ASP.NET

A language- and browser-independent programming technology for creating dynamic web applications.

ASP.NET Configuration Settings API

Includes the ASP.NET Microsoft Management Console snap-in GUI and Web Site Administration Tool. The ASP.NET Configuration Settings API handles application configuration and data via a single interface that enables application deployment automation.

ASP.NET pre-compiler

The precompiler.axd tool pre-compiles all web pages in a web application when a client requests access to a web site.

ASP.NET Web Site Administration Tool

Used to create and manage user accounts, and to authenticate users when they log on to a web site.

assemblies

The building blocks of the .NET Framework. Assemblies form the fundamental unit of deployment, version control, reuse, and security permissions. Applications or pieces of applications can be embedded into assemblies for deployment.

assembly

The managed code, i.e. any code executed by a .NET virtual machine, that the Common Language Runtime (CLR) executes to deploy, or execute, an application.

assembly manifest

A manifest that records the version number of an assembly, and of any dependent assemblies. This information is used by the CLR to identify assembly versions.

Assembly Registration Tool

Command-line tool (RegAsm.exe) that registers an assembly within the Windows registry.

AssemblyInfo

A file of a .NET project that enables users to set attributes relating to the assembly manifest.

asymmetric cryptography

Used to authenticate data as well as symmetric session keys or hash values. When an asymmetric cipher is used to encrypt information, a public key is used to encrypt the data and a private key, issued only to the receiving party, is used to unlock the public key. See also cryptography.

attribute

Specific information related to an entity that describes or qualifies a property of the entity.

authentication

The process of confirming the identity of an individual or entity requesting services or data from the system.

Back to top

B

BackgroundWorker control

A programmatically-used class for back-end control, BackgroundWorker overcomes slow interface response by executing operations asynchronously on a thread other than that which the parent program uses.

Base Class Library

The .NET Framework class library is a library of classes, interfaces, and value types that are included in the Microsoft .NET Framework. This library provides access to system functionality and is designed to be the foundation on which .NET Framework applications, components, and controls are built.

BCL

See Base Class Library.

bin

A directory that holds an application's assemblies and executables. Also used as an abbreviation of "binary."

binding

A policy in an assembly manifest that contains information specifying which version of each dependent assembly the application should bind to. The binding policy also specifies the locations of all the dependent assemblies. See also late binding.

BindingNavigator

A class used to instantiate data-bound form navigation controls.

BindingSource

A class that simplifies the data-binding process by acting as an intermediary between a data source and a bound control. It facilitates navigation, filtering, updates, additions, and data sorting.

BLOBs

An abbreviation for Binary Large Objects. Data type in a SQL database which will store large binary files such as pictures or video and audio files as well as any large objects that do not fit into the other general data types.

Boolean

A subtype of the Variant data type that holds a value of either True or False.

boxing

Process whereby the stack value is copied to a heap.

break mode

A pause in the program execution that allows the user to debug the program.

breakpoint

An option set by the user beside a line of code that will cause the program to stop executing and enter break mode.

Browser

Software used to view and interact with Internet resources, example Internet Explorer 7.

build outputs

The application files that make up an application, such as ASPX files, executables, DLLs, configuration files, graphics, and other resources.

bulk copy class

A class that enables the copying of exact sets of data from one data source to another.

Back to top

C

C#

Object-oriented development language created by Microsoft. It is derived from C and C++, and borrows many concepts from Java. The latest version of the language is 3.0 and it includes support for LINQ, Anonymous types, type inference, lambda expressions and extension methods.

CAS

See Code Access Security.

Cascading update or delete

List of actions that are taken when referential integrity constraints exists between tables. These actions occur when an update or a deletion of a key which exists as a foreign key in another table.

Caspol.exe

See Code Access Security Policy.

CCW

See COM Callable Wrapper.

child form

A window associated with a parent form in an application.

class

A mould or template for the creation of objects. It sets out rules for how the objects that it contains may behave.

class constraint

Constraint used to ensure that the compiler only accepts a specific object type parameter. This constrains a type parameter to be either a reference type or a value type.

Class Designer

Provides a graphic representation of the class structure of an application. Class Designer enables the user to change the structure using the program, and the diagram updates automatically when changes are made to the code.

Class View

A window that displays a collective view of all the parts of a Class/type. The user can use the Class View to navigate through parts of a type by clicking on different parts, using the navigation bar, or selecting Go To Definition from the context menu.

ClickOnce

A technology that enables users may use to install or remotely use a deployed application, and manages updates to it. Applications installed for online use are available to only one remote user.

CLR

Abbreviation for Common Language Runtime. The .NET execution environment that manages running code and provides services that facilitate software development.

Code Access Security

A .NET security feature restricting access to particular segments of written code based on the evidence of the calling procedure.

Code Access Security Policy

Abbreviated to Caspol.exe, a tool that supports commands that provide information about current security policy.

code snippets

Code templates for performing common tasks that can be imported into a script and customized as necessary. Visual Studio includes more than 500 code snippets.

COM

Abbreviation for Component Object Model. A reusable piece of code that could be adapted to everything from a single task to an entire software application.

COM Callable Wrapper

Abbreviated to CCW, the process by which .NET components are wrapped so that .COM clients are able to access them.

Command window

A window that will only work in break mode. It can be used to generate simple operations.

Common Language Runtime

See CLR.

common type system

See CTS.

compiler

A program that translates source code into code executed by a computer machine code.

Component Object Model

See COM.

ComponentAccessControl

An attribute that contains a single Boolean property that represents whether access checks are applied or not at the component level.

ConfigurationManager

A class in the System.Configuration namespace that replaces the ConfigurationSettings class. It enables access to user configuration settings, application settings, and machine settings.

Connection strings

Information that an application uses to connect to a source of data including name of the provider, server name, database, and user credentials.

Console

A class which provides input and output for .NET applications.

constraint

A form of relationship that specifies rules to be followed for individual or related columns in a DataTable.

constructor

A method that is invoked when the user instantiates an object of a class. It is defined in the class definition with no return type and has the same name as the class.

control

An object, enabled by user interaction or input, that initiates an action, displays information, or sets values.

Control class

A base class of all components that need to be displayed on a Win32 graphical interface.

CreateDomain

A method in the AppDomain class that is used to create applications domains that enable the isolation of applications running on the same machine.

cryptography

The process of encrypting and decrypting sensitive data for secure transfer across a network. See also symmetric cryptography and asymmetric cryptography.

CTS

Abbreviation for common type system. A formal specification that fully describes all possible data types that the CLR supports and specifies how they can interact with each other, as well as how they are represented in the .NET meta data.

custom control

A control created when a user wants to create a visually complex user interface (UI) element.

Custom Wrappers

Wrappers that import COM data by taking the definition of an interface or class as described in managed source code and duplicating it. The source code is compiled in .NET by a compiler that generates metadata in the assembly.

Back to top

D

DACL

See discretionary access control list.

data

Any form of information that is stored and accessed by a computer.

data binding

The linking of data in a data source to the controls on an object, enabling the display and management of the data used by the object.

Data Encryption Standard algorithm

Abbreviated to DES, a block cipher that uses a 64-bit data block with a 56-bit secret key for both encryption and decryption.

Data Protection Application Programming Interface

See DPAPI.

Data providers

Set of .NET classes that give access to data found in a data source.

Data source controls

Enables the user to retrieve data from a data source and to bind data to a control so that the data can be viewed. They simplify the process of writing the code needed for data retrieval and binding.

data type

A set of data that classifies a certain type and size of information. VBScript only uses the Variant data type or its subtypes.

DataAdapter

A class for a database connection and one or more commands that are used for data collection into a DataSet, or to alter the existing database.

DataGridView

A class allowing the user to view data in a malleable grid.

data-handling controls

Include BindingNavigator for data record navigation, BindingSource for binding form controls to data sources, and DataGridView for table-data display.

DataProtectionPermission

A class that controls the access of code to encrypted data and memory.

DataRow

An object that represents a record or row in the table of the dataset.

DataSet

An object that is an in-memory copy of data but without an imposed structure of connections, commands, and cursors. DataSet objects can be used by all data providers SQL Data Provider and Oracle Data Provider.

DataTable

A class where data from a particular data source is stored after the user fills a DataSet.

DataTips feature

Provides a view of important properties and attributes while in break mode. The user can view and edit these properties and attributes using the source editor in which the code is typed.

DataView object

A data management layer that provides an alternate way of working with the data in a DataTable.

deadlock

An error that occurs when a thread attempts to lock a resource that is already locked. The deadlock causes both threads to halt.

debug class

A class that is commonly used in .NET applications for debugging purposes to instrument code to output data about code-execution paths, code coverage, and performance level. The only difference between the Debug and Trace classes is that calls to both Debug and Trace methods are included in a Debug build, whereas only calls to Trace methods are included in a Release build.

debugger

The Visual Studio 2008 debugger incorporates just-in-time debugging and just my code debugging, and debugs C# and C++, Visual Basic and VBScript as well as LINQ programming. It steps over managed code, native code, mobile code, and T-SQL code. It will debug locally or remotely, and can debug assemblies hosted by SQL Server and JavaScript hosted by Internet Explorer. It enables stepping into XML web services and XSL transformations, and features data tips as well as data visualizer, breakpoints, and tracepoints. It also includes better support for debugging multithreaded applications, remote debugging support for Windows Vista and the ability to debug WCF applications and WCF web services as well as support for JavaScript debugging.

debugger display attributes

Applied at class level, the DebuggerDisplay attribute resides in the System.Diagnostics namespace, and can be used to control how a type or member is displayed in the debugger variable windows. The DebuggerDisplay constructor has a single argument a string displayed in the value column when the type occurs.

debugging

The local or remote process of testing an application, finding errors, and eliminating them.

declare

A process of declaring and naming variables before they are used. Declaring a variable will reserve memory for the name that will be given to the variable.

delegate

A reference type that can be used to encapsulate methods. These methods must have the same return type and parameter types as specified by the delegate.

delegate inference

The assignment of a method name to a delegate variable, without first wrapping it in a delegate object.

DES

See Data Encryption Standard algorithm.

deserialization

The conversion of stored, serialized information back into an exact copy of the object that existed prior to serialization.

Design-Time Expression Evaluation

Abbreviated to DTEE, a Visual Studio feature that enables the execution of pieces of code without compiling an entire application.

destructor

A method that is called when an object of a class is destroyed. It is defined in the class definition and has the same name as the class, preceded by a tilde (~).

Digital Signature Algorithm

Abbreviated to DSA, an asymmetric cryptography algorithm used to authenticate identity and validate data integrity. The public key is used to sign a hashed file and before it is encrypted with the private key, thus digitally signing the file. The party receiving the file decrypts the message using the public key and uses the same hash on the message digest.

Dim statement

A statement that declares variables and allocates storage space.

discretionary access control list

Abbreviated to DACL, an access control list that identifies the trusted users allowed or denied access to a securable resource..

DLINQ

An abbreviation of LINQ to SQL. Allows the management of relational data as objects by converting LINQ queries into SQL which is then executed by the database and returns the results into objects.

Do...Loop

A construct that executes a block of statements based on the assessment of a condition.

DOM

An abbreviation of Document Object Model. Represents the structure and style of an XML or HTML document and provides methods for interacting with the data.

DPAPI

An abbreviation of Data Protection Application Programming Interface, the DPAPI is supported by the ProtectedData class and enables you to encrypt data using a symmetric key derived from user or other computer information.

DSA

See Digital Signature Algorithm.

DTEE

See Design-Time Expression Evaluation.

Back to top

E

Edit and Continue

A Visual Studio feature that enables the modification of source code while in break mode before resuming the debugging process, making it unnecessary to stop the debugger, recompile a program, and rerun its code following an alteration.

EF

An abbreviation of Entity Framework. This framework is designed so that developers program against the conceptual application model instead of the traditional relational storage schema.

encapsulation

The ability of an object to show members to only the class from which reference was made.

Enterprise Templates

Visual Studio templates that allow software architects to provide guidance to development teams about how to work within a given architecture. Decisions that should not be the developer's concern are eliminated.

entity

A single object about which data can be stored. It is the "subject" of a table. Entities and their interrelationships are modeled through the use of entity relationship diagrams.

enum

A user-defined value type that specifies a list of named constants of a type.

enumeration

A user-defined value type that specifies a list of named integer constants.

enumerator

A shared, read-only data type that represents an integer constant.

EnvDTE80

The Visual Studio core model assembly incorporates Visual Studio's original library, EnvDTE. It allows the migration of most add-ins and wizards created in Visual Studio. To access EnvDTE80's functionality, a project must reference it

event

An action or occurrence registered by a program. Events can be user actions, such as a mouse click or keystroke, or system occurrences, such as running low on memory.

event handler

An attribute that associates an object with an event.

event log

A means of archiving, collecting, reviewing, and recording events through the use of EventLog class components.

EventWaitHandler

A subclass of WaitHandle that enables code to handle simultaneous tasks, which use different resources, on multiple threads.

Evidence class

A class in the System.Security.Policy namespace that contains objects representing evidence information, e.g. signatures and the location of code, that is used by the security policy to decide on the permissions to assign an assembly.

evidence-based security

Security policy rules that work in conjunction with Windows logon security. It controls the access of managed code to protected resources. System policy rules are created through the evidence classes and membership conditions of the System.Security.Policy.

exception

An object that is created when a program encounters a situation that the current method is not expecting.

Exception Assistant

Indicates possible causes of exceptions identified by the debugger, and provides links to error-specific online help and search.

Expression Suite

Expression Suite is a set of tools provided by Microsoft for building rich internet applications using WPF and Silverlight. These applications can then be integrated with Visual Studio 2008.

Extensible Markup Language

Abbreviated to XML, a standards-based format of the World Wide Web Consortium (W3C) that facilitates data interchange between different applications.

Extension methods

Extension methods are a new programming feature of .NET 3.5 that allow programmers to add new methods to existing object types. These can either be object already exist in the CLR or user defined types.

Back to top

F

FCL

An abbreviation of Framework Class Library, the new .Net Framework Class Library is a large set of classes built on top of the Base Class Library (BCL). It groups common system services such as class members, and object-oriented programming (OOP) elements in a hierarchical structure.

field

A variable that contains information in a class. Fields, subject to access modifiers, are retained within objects that become instantiated when an application runs.

File Transfer Protocol

See FTP.

FileSecurity

See System.Security.AccessControl.

For...Next

Contains a statement and counter that continues to execute until the counter reaches a specified limit.

Framework Class Library

See FCL.

Friend

An access modifier making code accessible to classes, structures and modules, but only within an assembly.

FTP

Abbreviation for File Transfer Protocol, a protocol used to upload and download files to and from an FTP server.

function

A collection of statements grouped to perform certain tasks, which are then referenced as a unit and can return a value to the statement that calls the function. A more specific form of a procedure.

Back to top

G

GAC

See Global Assembly Cache.

GDI

See Graphics Design Interface.

generic enumerator

Shared, read-only data type that represents an integer constant that is created using the generic interfaces found in the System.Collections.Generic namespace.

generic interface

An interface that includes placeholders for type parameters.

generic methods

Single methods that can be called with conventional parameters or with type information that defines a method. They can exist in any class or module.

generic types

Classes or interfaces that declare one or more type variables or formal type parameters. They enable the creation of strongly typed data types and methods.

generics

Predefined code templates that allow developers to define types for which certain details are left unspecified until referenced by consumer code. Generics are accessed through the System.Collections.Generic namespace and enable the creation of strongly-typed data types.

Global Assembly Cache

Abbreviated to GAC, a code cache that records and stores assemblies used by more than one application on a system.

globalization

The process, using the System.Globalization namespace, of creating software that can be used worldwide, irrespective of users' language or cultural differences.

Graphics Design Interface

Abbreviated to GDI, functions that enable the creation and manipulation of draw shapes, text, and bitmaps on Windows forms, in the .NET Framework. GDI+ enables the creation of graphics functions using the Windows graphics library.

Back to top

H

Hash algorithm

An alternative to symmetric and asymmetric cryptographic algorithms. Hashes are one-way functions that convert data of variable sizes into fixed-length byte arrays. Once a hash value has been computed, the result cannot be used to retrieve the information.

Hash Based Message Authentication Code

See HMAC.

hash table

A data structure accessed by the hash value that divides all elements into equal-sized categories.

heap

A collection of allocated variables in the Object class.

HMAC

A keyed hash algorithm based on a secret key. The hash can only be verified by a user who knows the secret key. The key is combined with the file to be encrypted, and the MD5 or SHA1 algorithm is used to create the hash.

HTML

An abbreviation for Hypertext Markup Language, a language used to create documents on the World Wide Web.

Back to top

I

IDE

Abbreviation for integrated development environment. IDE analyzes code to determine logical boundaries for creating a section.

If...Then...Else

A statement that executes based on a given condition. If true, the first statement executes but, if false, the statement following the Else keyword executes.

IIS

Abbreviation for Internet Information Server. It is Microsoft's web server application.

inheritance

The ability to derive subclasses from existing classes, the base class being System.Object. The subclasses have access to the complete functionality and the interfaces of the class from which they derive.

installers

VB .NET components, using the Installer class as a base class and created using classes of the System.Configuration.Install namespace, used to perform custom installations.

instantiate

The process by which an instance of an object or class is created or generated.

integrated development environment

See IDE.

Integrated development environment

See IDE.

interface

The definition of methods and values, i.e. the public properties, methods, and events available via the classes that implement them, that enable unrelated objects to communicate.

interface constraint

Constraint used to ensure that a type parameter implements a particular interface.

interop marshaler

Uses metadata information from the interop assemblies to marshal data between the managed code of a .NET component and the unmanaged code of a COM component.

isolated storage

A standardized system, of which there are two types isolation by user and assembly, and isolation by user, domain, and assembly that enables the storage of data in protected areas in the file system without the specification of unique paths.

Back to top

J

JavaScript

A scripting language, developed by Netscape Communications Corporation. Client-side JavaScript is used to add interactivity to HTML documents.

JIT

An abbreviation for "Just in Time" compiler. It compiles .NET code as it is needed. In the case of ASP.NET it compiles web pages as they are requested by the browser.

jQuery

Javascript library that eases the use of working with HTML, JavaScript, CSS, and AJAX within a web page.

JScript

A modified version of client-side JavaScript developed by Microsoft.

JSON

An abbreviation for JavaScript Object Notation. JSON is a lightweight data format based on a subset of the JavaScript syntax. JSON definitions can be included within JavaScript files and accessed without the extra parsing that is indicative of XML-based languages. This makes it an ideal data exchange format not only for AJAX, but a variety of web applications.

Just In Time

See JIT.

Just My Code

A Visual Studio feature that simplifies debugging by setting the debugger to show only user-created code. It hides non-user code such as types and members provided by Visual Studio unless the debugger identifies an error in this code.

Back to top

L

Lambda expressions

Lambda expressions are similar to anonymous methods but utilizing much more concise syntax. They are used quite extensively with LINQ.

late binding

The linking of a object at runtime based on the conditions during a specific time of its execution.

LINQ

An abbreviation for Language Integrated Query and is included in .NET 3.5. The LINQ project allows the languages supported by the .NET Framework to include query syntax as a supported feature for querying all forms of data, not just relational or XML based data.

LINQ to Objects

Provides a set of standard query operators that can be used on any collection types that implements the Ienumerable interface.

LINQ to XML

A new lightweight API that permits developers to work with XML with a non-DOM programming model.

LinqDataSource

A class that allows the use of LINQ in an ASP.NET web page to interact with data from a data object using the markup text of the page.

Local Type inference

Type inference allows you to write code where you do not have to explicitly state the type of a variable. Instead the type is inferred from the statement in which it is declared. This allows you to write less formal more relaxed code, which can speed up development.

Lock

A set of instructions used to synchronize threads in order to prevent a race condition.

LockCookie

A structure in the System.Threading namespace that provides methods for single-writer and multiple-reader semantics.

Login

A pre-made control in .NET with the tools a user needs to attempt to log in to a web site. The control is customized for the programmer's needs during web site creation.

Back to top

M

MACTripleDES

A keyed hash algorithm that uses a TripleDES symmetric algorithm to encrypt a file. It uses a key 16 or 24 bytes in length, and produces a hash sequence of 8 bytes in length.

managed code

A type-safe code that targets CLR services and runs under the control of the CLR.

MARS

An abbreviation of Multiple Active Result Sets. SQL Server 2005 feature that permits applications to have more than one result set open. Also allows application to execute INSERT, UPDATE, DELETE, and stored procedures while other result sets are open.

marshaling

The process of converting data passed in parameters from one representation to the other, for example, when a .NET client calls a COM component.

master page

A template that contains elements such as headers, footers, advertisements, and tabs common to the web pages in an application. It ensures that the pages throughout an application have a consistent look and feel.

MD5

A hash function that converts input of any length into a 128-bit message digest.

Message Authentication Code Triple DES

See MACTripleDES.

Message Digest Version 5

See MD5.

method

A named piece of computer code that performs a specific task and is associated with a particular object.

Microsoft Intermediate Language

Abbreviated to MSIL, the instruction set generated by .NET compilers from .NET languages such as J#, C# or Visual Basic. MSIL compiles before or during execution of the program.

Microsoft Management Console

Abbreviated to MMC, a console that enables a user to access and edit configuration settings via three directories System Tools, Storage, and Services and Applications.

Microsoft Synchronization Services for ADO.NET

Service that caches data locally which can then be altered when offline and changes are then uploaded the next time a connection is established. Supports data sources other than just relational databases.

MMC

See Microsoft Management Console.

module

A logical and distinct program unit that can be compiled separately or linked with other units

Monitor

A class that enables locking an object to a single thread, restricting access to a critical section of a block of code.

MS Build

The build platform for Microsoft and Visual Studio. It was introduced with Visual Studio 2005 and .NET 2.0. It has the advantage of being bundled with the .NET Framework for free, so that projects and solutions can be built without the use of the IDE.

MSIL

See Microsoft Intermediate Language.

multiple constraint

Constraint used to specify a number of acceptable types. Enables specification of a type that has a default public constructor and is a reference type.

multithreaded task

A task that shares processor capacity and executes alternately depending on priority. A mutithreaded process, which allows the running of multiple instances of the same code, is controlled by switching between threads, or pre-emptive multitasking.

mutator

Code that accesses data within or components of a specific class or object. See also accessor.

Mutex

An object derived from the WaitHandle class, destroyed when the last thread that references it terminates, that enables thread synchronization, limiting access to a resource that can be accessed by multiple processes.

My namespace

The contents of the My namespace are all shared and its classes cannot be instantiated. It consists of various classes, separated into seven main areas relating to general settings, resources, application functionality, and project organization.

MyBase

Keyword that enables the programmer to call methods from any base class.

Back to top

N

namespace

A collection of names used in XML documents as element types and attribute names.

new constraint

Constraint used to ensure that the compiler accepts a type only if it has a default public constructor.

node

An element within a namespace, generally a class, structure, or shared property.

Back to top

O

O/R Designer

The Object Relational, or O/R, Designer is a visual tool that is part of the Visual Studio 2008 IDE. It allows users to create an object model in an application that maps to objects in a database and which are typically LINQ to SQL entity classes.

obj

Directory that contains the first-pass object files that Visual Studio uses to create final, executable application files.

object

Represents a composite data type built-in to VBScript. Examples include the File, Err, Drives, or TextStream Objects.

object class

A group of objects with the same definition.

Object Test Bench

Abbreviated to OTB, Visual Studio feature allowing programmers to create and call methods on objects in a runtime context. It is a DTEE feature.

ObjectDataSource

A class that serves to represent the data provided by a business object when dealing with data-bound web controls

object-oriented programming

See OOP.

ODBC

An abbreviation of Open Database Connectivity. An open application programming interface to access data from dBase, DB2, Excel, Access, or text files.

OLE DB

COM based low level API for accessing data from a variety of sources

OOP

An abbreviation of object-oriented programming. Based on the concepts of abstraction and inheritance, object-oriented programming uses objects, consisting of classes and their methods and procedures, to manipulate data and perform different tasks within a program.

operator

A symbol, be it mathematical, relational, or logical, that represents an operation.

operator overloading

Enables the redefinition of standard operators such as plus and minus, which can then be used to code classes and structures.

OTB

See Object Test Bench.

Output Window

A window that appears under the form which displays status information after the Run button is hit.

overloading

A method that enables the user to provide similar functionality that will work with a variety of inputs.

Back to top

P

parameter

The specification for information passed as arguments to a procedure or script.

parse

To divide, analyse, and categorize language components so they can be used to perform operations.

partial class

Where the definition and implementation of a class, structure, or interface is split across a number of files. The compiler draws the different parts of the class from the various files when building an assembly, and compiles them into a single class in Microsoft Intermediate Language (MSIL). A partial class cannot be used across multiple assemblies, and users cannot use partial classes in enum definitions

Pascal casing

A naming convention that uses an initial uppercase letter for public classes and global elements.

Permcalc.exe

A tool that calculates the permissions that an assembly requires and the complete path that must be used to access the assembly. It also informs end users about the permissions needed to run a program.

permissions

A .NET security concept, usually represented by specific classes, that controls access to specified resources.

Permissions Viewer

Abbreviated to Permview.exe, the Permissions Viewer is a utility that enables you to view output security information using the /Output option, and to view declarative security information using the /Decl option.

Permview.exe

See Permissions Viewer.

pragma

A compiler directive ensuring a program compiles a certain way.

Private

An access modifier making code accessible only within the same class, structure or module. This cannot be used at the namespace level, or within an interface.

procedure

A block of code with a name and parameters that perform a specified task. Code becomes easier to read, easier to maintain, and reusable in other procedures.

program

A specific set of programming statements that make up a script or application.

Properties window

A window that allows users to change the look or behavior of the controls in a project.

Protected

An access modifier making code accessible only to the class in which it is declared, or its derived subclasses. It cannot be used at the namespace level, or within interfaces, modules or structures.

Protected Friend

An access modifier making code accessible only within a class and its subclasses, or within an assembly, or both. It cannot be used at the namespace level, or within interfaces, modules or structures.

public

An access modifier making code accessible to any other segment that includes the namespace in which it resides.

Back to top

R

race condition

An error that can occur when the outcome of a program depends on which of two threads completes a process first. In any multithreaded code, a thread may be pre-empted before processing, causing a race condition.

RC2

A symmetric block cipher that uses a 64-bit input data block and a key size that can be anything from one to 128 bytes. About twice as fast as DES, this adjustable key-size helps increase security.

ReaderWriterLock

A class that enables you to set threads to access a resource simultaneously.

Refactoring

A Visual Studio tool that allows you to change the internal structure of code without changing its functionality.

reflection

The use of the System.Reflection namespace to inspect assemblies and the modules, types, and members they contain at runtime. Reflection can be used to retrieve metadata about assembly code and to manipulate this code.

remoting

A process of sending data between security boundaries such as processes, application domains, and contexts.

Resgen.exe

See Resource File Generator.

resize

An event that allows a user to change the size of a browser window.

Resource Builder

Enables strong typing of resources through the StronglyTypedResourceBuilder class in the .NET Framework Class Library.

Resource File Generator

Strongly typed resources are generated through Resgen.exe. It converts XML-based test and resource files to Common Language Runtime (CLR) binary files with the .resource extension.

Rijndael algorithm

The fastest and most secure symmetric cryptography algorithm, Rijndael succeeds DES and TripleDES and gives the option of using 128, 192, or 256-bit data blocks or keys. Depending on the combination of data-block and key sizes, data can go through 10, 12, or 14 rounds of encryption. Also known as the AES Algorithm.

Rivest Shamir Adleman algorithm

Abbreviated to RSA, the most commonly used asymmetric encryption algorithm. It is used to randomly generate a public and private key. The public key is used to encrypt data and can be freely distributed while the private key, used to decrypt the data, is kept secret. To verify encryption, the encrypted version is compared to the unencrypted version.

role

A category of users on a given system that has specific privileges.

role-based security

Establishes the identity of a principal (the category and identity of a user) and grants or denies access to a resource based on the principal's roles.

RSA

See Rivest Shamir Adleman algorithm.

RSS

Real Simple Syndication.

RSS feeds

Is syndicated web content that is published and delivered to a user who subscribes to a site to receive updated content.

RSS reader

Software used to retrieve and read syndicated web content.

Back to top

S

script

A sequence of instructions that are embedded in a web page or saved as a plain text file that is interpreted by another host such as a web browser.

secondary interface

An interface that inherits its properties, methods and events from its primary interface.

Secured Hashing Algorithm 1

See SHA1.

Secutil.exe

A certificate management tool that puts usable public keys into source code. It does this by taking a public key from an X.509 certificate or the strong name information for an assembly, and converting this information into a format that can be incorporated in code.

Select method

A procedure that searches through a DataTable and returns an array of DataRow objects.

Semaphore

A class that limits the number of threads that can concurrently access a resource or resource pool.

serial port control

Uses the SerialPort class to enable serial devices to communicate with an application.

serialization

The process whereby an object is converted into an alternate medium for example in XML or RTF format for transfer or storage. See also serialization.

Service Control Manager

An application that lists the Windows Services available on your computer. The Service Control Manager is used to automatically or manually run, stop, or pause a Windows Service.

ServiceBase

A class used to create a new Windows Service for an application in the .NET Framework.

ServiceController

A class used to connect to and control the behavior of a stopped Windows Service.

ServiceInstaller

A class used to implement a Windows Service.

SHA1

An algorithm that, with its derivatives SHA224, SHA256, SHA 348, and SHA512, which is often referred to as SHA2 was designed to succeed the MD5 algorithm. The SHA1 algorithm operates on a block size of 64 bits and produces a message digest of 160 bits.

shared assembly

A type of assembly can be deployed with or without an accompanying application and can be installed in any directory on the computer.

Simple Mail Transfer Protocol

See SMTP.

Simple Object Access Protocol

See SOAP.

single-threaded task

A task that runs serially, starting when another is finished.

SiteMapDataSource

A class that serves to represent the data provided by site map providers when dealing with data-bound web controls.

SiteMapDataSource

A control used by other web-based controls to bind to site map data.

SiteMapPath

A web control that uses a list or set of links to better facilitate web site navigation.

SMTP

Simple Mail Transfer Protocol is a network protocol used to send email between servers.

SmtpPermission

A class that controls access to Simple Mail Transfer Protocol (SMTP) services.

SOAP

Abbreviation of Simple Object Access Protocol, a protocol used to transfer XML-based messages across a network.

Solution Explorer

Provides a graphic directory tree for navigating the components and resources of Visual Studio applications.

SoundPlayer control

A new control whose class allows for easier integration and use of .wav files through the specification of a file path or URL.

SQL Server

A server that provides back-end solutions for the distributed services in the .NET architecture.

SQL Server Express

Is version of SQL Server which can be redistributed with Windows and Web applications that have database requirements that fit within the limitations of the Express version.

SqlConnectionStringbuilder

A class used to create and/or manage an SQL connection string for the System.Data.SqlClient namespace.

SqlDataSource

A class the serves to represent a database when dealing with data-bound web controls.

stack

Data structure to which new elements are added to or removed from the top.

Start Page

First page shown upon entering Visual Studio, listing the most recently accessed Projects and Web applications, as well as providing options to create new ones.

Stored procedures

Set of T-SQL commands that are stored on the server and called by client applications.

string variable

Variables able to store any type of text information, whether alphabetic, numeric, or both.

strip controls

Toolbar-type controls with similar functionality to those found of Windows XP, Office, and Internet Explorer, strip controls include ContextMenuStrip, MenuStrip, StatusStrip, ToolStrip, and ToolStripContainer.

strong name

A unique name that includes version information and that enables the .NET runtime to ensure that the application binds to the appropriate versions.

strong typing

Strict coding rules and the StronglyTypedResourceBuilder class enable the use of resources throughout a project, reducing required debugging.

strongly typed style properties

Properties that support compile-time type checking, so that errors can be caught earlier and code completion is supported in Visual Studio .NET.

StronglyTypedResourceBuilder

A class that enables strong typing.

strong-named assembly

A shared assembly that has a unique name that includes version information and that enables the .NET runtime to ensure that the application binds to the appropriate versions.

structure constraint

Constraint used to ensure that the compiler only accepts a value type parameter. This constrains the type parameter to be either a string, interface, or class.

subroutine

A particular task that is executed through a set of instructions. Also called a procedure or function.

symmetric cryptography

The use of algorithms to encrypt large tracts of information. When a symmetric cipher, also known as a private key or secret key cipher, is used to encrypt information, two or more parties have access to a single private key which is used to encrypt and decrypt the data. See also cryptography.

System namespace

A namespace that enables the navigation of the .Net Framework 3.5 class library and allows access to its elements. It also contains pre-existing generic interfaces.

System.Collections

A namespace that contains classes and interfaces that enable the definition and manipulation of collections of objects, such as lists, queues, arrays, hash tables, and dictionaries.

System.Collections.Generic

A namespace through which generics are accessed.

System.Configuration

A namespace that includes classes that enable the management of configuration files, including those that hold saved information about adjusted application settings.

System.Console

A class that handles input for simple console applications.

System.Diagnostics

A namespace that provides classes that can be used to add event log functionality to an application, for example, documenting code, maintenance, and troubleshooting. It also provides classes for the interaction of system processes and performance counters, and it enables the building of debugging and tracing into code.

System.EnterpriseServices

A namespace that provides classes, interfaces, and attributes for communicating with Component Services.

System.IO

A namespace that includes classes, for example, the base class Stream, that enable you to access and manage file and directory input and output (I/O) by manipulating strings, characters, and files.

System.Object

The base class where all managed classes in the class library inherit directly or indirectly from the base class. System.Object contains a number of methods providing core functions.

System.Reflection

A namespace that recovers information by applying types that examine metadata and get information about entities in managed code regarding members, modules, assemblies and parameters.

System.Runtime.Serialization

A namespace that provides interfaces and classes for the serialization and deserialization of objects, and for controlling these processes.

System.Security.AccessControl

A namespace that controls access to important related security objects and consists of various inheritable and non-inheritable security classes. The FileSecurity class is used to store specified sections of the security descriptor for a particular file, using the AccessControlSections enumerator.

System.Security.Authentication

A namespace that provides security information about a connection using enumerations such as HashAlgorithmType, ExchangeAlgorithmType, SslProtocolType, and CipherAlgorithmType.

System.Security.Cryptography

A namespace that provides classes used to implement a range of cryptographic mechanisms, enumerations that support cryptographic classes, the ICryptoTransform and ICspAsymmetricAlgorithm interfaces, and the DSAParameters and RSAParameters structures.

System.Security.Permissions

A namespace enabling permissions, easy-to-host low-trust code, secure platform extensibility, and increased access to the System namespace.

System.Security.Policy

A namespace that contains evidence classes and membership conditions that enable the creation of security policy rules that determine which resources can be accessed by executing code.

System.Security.Principal

A namespace that contains classes and interfaces instantiated to create principal objects and to authenticate and authorize users.

System.ServiceProcess

A namespace containing classes and enumerations that enable the creation, installation, and running of Windows Service applications.

System.Text

A namespace enabling the manipulation and formatting of text in Visual Basic . It contains classes that represent the common text formats, such as Unicode, ASCII, and 8-bit Unicode Transformation Format (UTF-8).

System.Threading

A namespace that provides classes enabling single or multithreading tasks.

System.Xml

A namespace that provides access to a set of XML classes, which enable the user to read, transform, write, and manipulate XML documents.

System.Xml.Serialization

A namespace that allows the conversion of Common Language Runtime (CLR) objects into XML documents.

Back to top

T

Table Value Parameters

Allows the passing of multiple rows of data to a parameter, similar to an array which is not available in SQL Server.

TableAdapter control

Used to create subsets of data from a source database and to transfer updated data back to the source.

Task List

Visual Studio feature that allows the logging and sorting of programmer-assigned tasks.

text box controls

The RichTextBox control facilitates text entry, display, and formatting. The MaskedTextBox control provides enhanced mask characters.

theme files

Theme file properties override the page's control properties and define the visual styles of web applications, web pages, or controls.

ToolTips

A type of help that associates a ToolTip with a control so that during runtime, when the user moves the cursor over the relevant user-interface element, the relevant ToolTip window displays.

trace class

A class that is commonly used in .NET applications for debugging purposes to instrument code to output data about code-execution paths, code coverage, and performance level. The only difference between the Debug and Trace classes is that calls to both Debug and Trace methods are included in a Debug build, whereas only calls to Trace methods are included in a Release build.

tracepoints

Running only under the debugger, tracepoints cause associated actions to execute without requiring changes to the source code.

TreeView

A control that takes a data source, often written in XML, and represents it in a hierarchy.

TripleDES

Also known as 3DES, an algorithm with the same cryptographic design as DES, of which it uses three iterations, that supports key lengths from 128 bits to 192 bits in increments of 64 bits. This is essential to prevent meet-in-the-middle attacks, which DES encryption is susceptible to.

T-SQL

An abbreviation of Transact Structured Query Language. Set of features introduced to the Structured Query Language by Microsoft and Sybase. Features include transactions, exception and error handling, declared variables, and row processing.

type

An abstract base class that allows multiple implementations.

type class

Represents type declarations, and is the primary way to access metadata. Members of a type are used to find information about a type declaration.

Type Library Importer

A command-line tool that converts type information in a COM component type library into metadata prior to the CLR generating an interop assembly. When a COM component is referenced in a .NET project, it references the metadata within the interop assembly and not the type library of the COM component.

Back to top

U

Universal Resource Locator

Abbreviated to URL, the address of an Internet resource.

unmanaged code

Code that does not run in the CLR or access the services it makes available. COM components are made up of unmanaged code.

URL

See Universal Resource Locator.

Back to top

V

variable

A value that can change and can be stored in a location in memory. The value can change depending on the execution of the information passed to the application. All variables in VBScript are variants or subtypes of variants.

Variant

VBScript's only data type, which occupies 16 bytes of memory. It can be divided into a number of different subtypes.

VBScript

An abbreviation for Visual Basic Scripting Edition, a scripting language developed by Microsoft that enables a user to develop web-based applications and to validate data.

view controls

Includes the TreeView and ListView controls.

Visual Basic .NET

.NET Framework version of the Visual Basic programming language.

Visual Basic Scripting Edition

See VBScript.

Visual Studio .NET

IDE released in 2002 that was the first implementation of the .NET Framework and the first appearance of the C# programming language.

Visual Studio .NET 2003

Minor version release of Visual Studio .NET, utilizing the 1.1 Framework. First appearance of mobile device support.

Visual Studio .NET 2005

Major version release of Visual Studio .NET. First release to fully utilize the .NET Framework 2.0.

Visual Studio 2008

Major version release of Visual Studio .NET. First release to fully utilize the .NET Framework 3.5.

Visual Studio 6.0

IDE Released by Microsoft in 1998, using separate environments for Visual J++ and Visual InterDev.

Visual Studio 97

Provides a type-specific alternate view of objects or variables, based on their data type. Visual Studio 2005 uses four standard visualizers a DataSet visualizer that shows DataSets in a grid, an XML visualizer, a text visualizer, and an HTML visualizer.

Back to top

W

WCF

Abbreviation of Windows Communication Foundation. WCF is a programming model used to for building connected service oriented applications. WCF combines many technologies for building network-distributed applications into one programming model, thus making the develop of service oriented applications easier than in the past.

Web Forms

A new user interface drag-and-drop designer that can be used to make web pages in ASP.NET.

Web service

Internet communication device that allows programs to communicate with the internet using SOAP.

Web.sitemap

An XML file that defines the hierarchical structure of the web pages in an application.

WF

Abbreviation of Windows WorkFlow Foundation. This programming model is used to create workflow-enabled applications. Typically workflows are used to enhance and model business processes and applications.

While...End While

A statement that causes an enclosed statement to repeat for as long as a specified condition is met.

Windows CardSpace

Formerly known as InfoCard, Windows CardSpace is an Identity Metasystem that uses the digital identities of a use in a secure fashion. It hopes to unify the interoperable identity layer of the internet. Users can issue their own cards, known as personal cards, or they can obtain a managed card through a trusted third party provider.

Windows Management Instrumentation

Abbreviated to WMI, the technology that provides an operating system interface for instrumented components. It enables scripting languages to manage local and remote computers on Windows operating systems, and it enables management tasks such as starting processes on a remote computer, retrieving lists of applications on a local or remote computer, and scheduling processes.

Windows Service

A background application created using classes and enumerations in the System.ServiceProcess namespace. It is automatically started on bootup of a system and run until the system is shut down or stopped. It is run on a machine account and communicates with other programs through the Service Control Manager.

WMI

See Windows Management Instrumentation.

WPF

Abbreviation for Windows Presentation Foundation. WPF was introduced in .NET 3.0 as a graphical subsystem for building richer Windows applications. As a programming model it clearly separates the UI and business logic and constructs it UI using XAML.

wrapper

A series of changes made to a code block so that it can be used by multiple procedures, programs, or program types.

Back to top

X

X.509 certificate

A certificate that uses unambiguous or distinguished names to provide the identities of subscribers and certifying authorities.

XAML

Abbreviation for Extensible Application Markup Language. This language is based on XML and serves as the building block for the UI elements of WPF.

XLINQ

An abbreviation of LINQ to XML. XLINQ is an XML programming API for manipulating XML data sources as well as supporting language integrated queries.

XML

See Extensible Markup Language.

XML serialization

The conversion of common language runtime (CLR) objects into XML documents using the System.Xml.Serialization namespace and Simple Object Access Protocol (SOAP). XML serialization allows easier processing by conventional programming languages.

XMLDataSource

A class that serves to represent XML data to data-bound web controls

XPath

An abbreviation for XML Path Language. It is a language for addressing parts of an XML document.

Back to top

#

.NET Framework

The .NET Framework consists of the Common Language Runtime and a unified set of class libraries. These facilitate the building and running of applications and Web services. Visual Studio includes .NET .

3DES

See TripleDES.

Back to top

ABCDEFGHIJKLMNOPQRSTUVWXYZ#

Copyright 2008 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks

of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/jobaids.html

Content/cca/sd_mand_a06_it_enus/output/html/jobaids_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Job Aids

Copyright 2009 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/lasd_mand_a06_it_enus_t1302.html

This page contains JavaScript functions that print out and close the current frame document. To print out the document without using JavaScript, you need to press Control P. To close the document without using JavaScript, use the standard window controls.

|Print|Back|Close|

LearningAid

Sync Services application code

Purpose: View the learning aid to view the entire code used to create a sample Sync Services application.

Instructions for use:

Imports SystemImports System.IOImports System.TextImports System.DataImports System.Data.SqlClientImports System.Data.SqlServerCeImports Microsoft.SynchronizationImports Microsoft.Synchronization.DataImports Microsoft.Synchronization.Data.ServerImports Microsoft.Synchronization.Data.SqlServerCe

Class Program

Shared Sub Main(ByVal args() As String)

Dim helper As New ServiceClass()

helper.GetUserPassword() helper.RecreateClientDatabase() helper.MakeServerChanges() helper.UndoChanges()

Dim sampleTableStats As New SampleTableStats()

Dim sampleSyncAgent As New SampleSyncAgent() Dim syncStatistics As SyncStatistics = sampleSyncAgent.Synchronize() sampleTableStats.DisplayStats(syncStatistics, "initial")

syncStatistics = sampleSyncAgent.Synchronize() sampleTableStats.DisplayStats(syncStatistics, "subsequent")

Console.Write(vbLf + "Press Enter to close the window.") Console.ReadLine()

End Sub 'MainEnd Class 'Program

Public Class SampleSyncAgent Inherits SyncAgent

Public Sub New() Me.LocalProvider = New SampleClientSyncProvider()

Me.RemoteProvider = New SampleServerSyncProvider()

Dim productsSyncTable As New SyncTable("ProductTable") productsSyncTable.CreationOption = _ TableCreationOption.DropExistingOrCreateNewTable productsSyncTable.SyncDirection = SyncDirection. _ DownloadOnly Me.Configuration.SyncTables.Add(productsSyncTable)

End Sub 'New End Class 'SampleSyncAgent

Public Class SampleServerSyncProvider Inherits DbServerSyncProvider

Public Sub New() Dim service As New ServiceClass() Dim serverConn As New SqlConnection(service. _ ServerConnString) Me.Connection = serverConn

Dim selectNewAnchorCommand As New SqlCommand() Dim newAnchorVariable As String = "@" + SyncSession. _ SyncNewReceivedAnchor With selectNewAnchorCommand .CommandText = _ "SELECT " + newAnchorVariable + _ " = change_tracking_current_version()" .Parameters.Add(newAnchorVariable, SqlDbType.BigInt) .Parameters(newAnchorVariable).Direction = _ ParameterDirection.Output .Connection = serverConn End With Me.SelectNewAnchorCommand = selectNewAnchorCommand

Dim productsBuilder As New SqlSyncAdapterBuilder _ (serverConn)

productsBuilder.TableName = "Samples.SampleTable" productsBuilder.ChangeTrackingType = _ ChangeTrackingType.SqlServerChangeTracking

Dim productsSyncAdapter As SyncAdapter = _ productsBuilder.ToSyncAdapter() productsSyncAdapter.TableName = "SampleTable" Me.SyncAdapters.Add(productsSyncAdapter)

End Sub 'NewEnd Class 'SampleServerSyncProvider

Public Class SampleClientSyncProvider Inherits SqlCeClientSyncProvider

Public Sub New() Dim service As New ServiceClass() Me.ConnectionString = service.ClientConnString

End Sub 'NewEnd Class 'SampleClientSyncProvider

Public Class SampleTableStats

Public Sub DisplayStats(ByVal syncStatistics As _ SyncStatistics, ByVal syncType As String) Console.WriteLine(String.Empty) If syncType = "initial" Then Console.WriteLine _ ("****** Initial Synchronization ******") ElseIf syncType = "subsequent" Then Console.WriteLine _ ("***** Subsequent Synchronization ****") End If

Console.WriteLine("Start Time: " & syncStatistics. _ SyncStartTime) Console.WriteLine("Total Changes Downloaded: " & _ syncStatistics.TotalChangesDownloaded) Console.WriteLine("Complete Time: " & _ syncStatistics.SyncCompleteTime) Console.WriteLine(String.Empty)

End Sub 'DisplayStats End Class 'SampleStats

Public Class ServiceClass

Private Shared clientPass As String

Public Shared Property Password() As String Get Return clientPass End Get Set(ByVal value As String) clientPass = value End Set End Property

Public Sub GetUserPassword() Console.WriteLine("Type a strong password for the " _ + "client database, and then press Enter.") ServiceClass.Password = Console.ReadLine()

End Sub 'GetUserPassword

Public ReadOnly Property ClientConnString() As String Get Return "Data Source='Samples.sdf'; Password=" + _ ServiceClass.Password End Get End Property

Public ReadOnly Property ServerConnString() As String

Get Return "Data Source=.\sqlexpress; " _ + "Initial Catalog=Samples.SampleTable; " _ + "Integrated Security=True" End Get End Property

Public Sub MakeServerChanges() Dim rows As Integer = 0

Dim serverConn As New SqlConnection(Me.ServerConnString) Try Dim sqlComm As SqlCommand = serverConn. _ CreateCommand() sqlComm.CommandText = _ "INSERT INTO Samples.SampleTable " _ + "(EmpID, EmpName, DeptID) " _ & "VALUES ('456664', 'Mike', '22') " _ & "UPDATE Samples.SampleTable" serverConn.Open() rows = sqlComm.ExecuteNonQuery() serverConn.Close() Finally serverConn.Dispose() End Try

Console.WriteLine("Rows affected on the server: " _ & rows)

End Sub 'MakeServerChanges

Public Sub UndoChanges() Dim serverConn As New SqlConnection(Me.ServerConnString) Try Dim sqlComm As SqlCommand = serverConn. _ CreateCommand() sqlComm.CommandType = CommandType.StoredProcedure sqlComm.CommandText = "usp_InsertSampleData"

serverConn.Open() sqlComm.ExecuteNonQuery() serverConn.Close() Finally serverConn.Dispose() End Try

End Sub 'UndoChanges

Public Sub RecreateClientDatabase() Dim clientConn As New SqlCeConnection(Me. _ ClientConnString) Try If File.Exists(clientConn.Database) Then File.Delete(clientConn.Database) End If Finally clientConn.Dispose() End Try

Dim sqlCeEngine As New SqlCeEngine(Me.ClientConnString) sqlCeEngine.CreateDatabase()

End Sub 'RecreateClientDatabaseEnd Class 'ServiceClass

Course: Using Query Notifications and Synchronizing Data with Visual Basic 2008Topic: Creating a Synchronization Services Application

Copyright 2008 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks

of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/lasd_mand_a06_it_enus_t1302_frame.html

Content/cca/sd_mand_a06_it_enus/output/html/learningaids.html

Content/cca/sd_mand_a06_it_enus/output/html/learningaids_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Learning Aids

Microsoft Synchronization Services and other technologies

Use this aid to view which features are available in MSS, RDA, and Merge Application technologies.

Creating a Manual synchronization adapter and using custom change tracking

View the learning to view how to create a synchronization adapter manually and use a custom method to track changes.

Sync Services application code

View the learning aid to view the entire code used to create a sample Sync Services application.

Removing tracking columns

Use this learning aid to view the code you use to remove tracking columns from synchronization commands.

Copyright 2009 SkillSoft. All rights reserved.

SkillSoft and the SkillSoft logo are trademarks or registered trademarks of SkillSoft in the United States and certain other countries.

All other logos or trademarks are the property of their respective owners.

Content/cca/sd_mand_a06_it_enus/output/html/license.html

Content/cca/sd_mand_a06_it_enus/output/html/license_body.html

|Print|Back|Close|

Using Query Notifications and Synchronizing Data with Visual Basic 2008Licensing Agreement

NB: In this document, "You" means the user of the Software and "SkillSoft" means the SkillSoft company serving the country where the Software is acquired.

BY USING THIS SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND CREATE A BINDING CONTRACT BETWEEN YOU AND SKILLSOFT. IF YOU DO NOT AGREE TO THESE TERMS, YOU SHOULD EXIT FROM THIS COURSE AND RETURN THIS COURSE TO THE PERSON FROM WHOM YOU OBTAINED IT WITHIN THREE (3) DAYS OF RECEIPT AND OBTAIN A REFUND.

SKILLSOFT grants you a terminable non-exclusive, nontransferable license to use one copy of the enclosed software program (the "Software") and accompanying documentation in accordance with the following terms and conditions.

You may use the Software only on a single stand-alone computer or a network node from which the Software cannot be accessed by another computer. You may make one (1) copy of the Software for back-up or archival purposes only. If the Software is installed in a corporate or network environment it shall be used by no more than one (1) user unless the number of authorized copies or users of the Software is set out on this package or in a separate agreement with SkillSoft. Software may be installed on a network server only for the purpose of distributing copies of the Software to other computers and for no other purpose whatsoever. You will not: (a) copy the Software, except as provided above, (b) reverse engineer, disassemble, or decompile the Software, (c) transfer or make available the Software to any other party, or (d) use the Software outside the country of acquisition.

The computer software, artwork and other components included in the Software are the copyrighted property of SkillSoft and its licensors. The Software is licensed (not sold) to you, and SkillSoft owns all copyright, trade secret, patent, and other proprietary rights in the Software. You may use the Software on a single computer. You may not: (1) copy (other than once for back-up purposes), distribute, rent, loan, lease, or sublicense all or any portion of the Software; (2) modify, translate, distribute, or prepare derivative works of the Software or the accompanying documentation; (3) reverse engineer, decompile, or disassemble the Software or the accompanying documentation; or (4) remove any proprietary notices, labels, or marks on the Software and accompanying documentation. You may not transfer the Software. Your license is automatically terminated if you transfer the Software.

THIS LICENSE IS NOT A SALE. TITLE AND COPYRIGHTS TO THE SOFTWARE, ACCOMPANYING DOCUMENTATION AND ANY COPY MADE BY YOU REMAIN WITH SKILLSOFT OR ITS LICENSORS, AS THE CASE MAY BE. CONFIDENTIALITY The Software contains confidential trade secret information belonging to SKILLSOFT, and you may use the Software only pursuant to the license set forth herein. In addition, you may not disclose the Software to any third party.

SKILLSOFT warrants to the licensee that the media furnished in this product will be free from defects in materials and workmanship under normal use for a period of ninety (90) days from the date of purchase.

You expressly acknowledge and agree that use of the Software is at your sole risk. Except for the limited ninety (90) day warranty on the media set forth above, the Software and any related documentation or materials are provided "AS IS" and without warranty of any kind. SKILLSOFT EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. SKILLSOFT DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE SOFTWARE WILL BE CORRECTED. YOU ASSUME THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF THE SOFTWARE AND YOU (AND NOT SKILLSOFT) ASSUME THE ENTIRE COST OF ALL SERVICING, REPAIR AND/OR CORRECTION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU.

UNDER NO CIRCUMSTANCES INCLUDING NEGLIGENCE SHALL SKILLSOFT, OR ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO YOU FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOST DATA, LOSS OF BUSINESS INFORMATION, AND THE LIKE) ARISING OUT OF THE POSSESSION, USE, OR MALFUNCTION OF THE SOFTWARE, INCLUDING WITHOUT LIMITATION DAMAGE TO PROPERTY AND, TO THE EXTENT PERMITTED BY LAW, DAMAGES FOR PERSONAL INJURY, EVEN IF SKILLSOFT OR AN SKILLSOFT AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR LOSS. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL, OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU.

THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS, AND YOU MAY HAVE OTHER RIGHTS DEPENDING ON THE LAWS IN YOUR STATE. YOU AGREE THAT THE LIABILITY OF SKILLSOFT ARISING OUT OF ANY KIND OF LEGAL CLAIM (WHETHER IN CONTRACT, TORT, OR OTHERWISE) WILL NOT EXCEED THE AMOUNT YOU ORIGINALLY PAID FOR THE USE OF THE SOFTWARE.

U.S.A. ONLY. If the Software is acquired under agreement with the U.S. government or any contractor therewith, it is acquired as "commercial computer software" subject to the provisions hereof, as specified in 48 CFR 12.212 of the FAR and, if acquired for Department of Defense (DoD) units, 48 CFR 227-7202 of the DOD FAR Supplement, or sections succeeding thereto.

This License is governed by the laws of the jurisdiction of the SkillSoft Company serving the country where the Software was acquired. If any provision of this license is not enforceable, it will be served from this license and the remainder will remain in full force and effect.

If you have any questions regarding this Lic