Search Binary Spectrum
Home | Resources | Sitemap | Support
Binary Spectrum
   
Knowledge Bank: Contents
C# Coding Standards
 
 

 

arrow Technology
arrow Healthcare
arrow Retail
 

Whats new in the .Net Compact Framework

The .NET Compact Framework version 2.0 Beta extends the .NET Compact Framework version 1.0 with new features, improvements to existing features, and expanded support of classes in the full .NET Framework. This section provides information about some of the key additions and modifications to the .NET Compact Framework. Starting with this version, the .NET Compact Framework is part of the .NET Framework and supports stand-alone development. Note that there is a new way to determine, in the .NET Framework Class Library Reference, which members of a class are supported in the .NET Compact Framework. On the member summary topic for a class, such as System.AppDomain, click Members Options at the top of the page, and then select .NET Compact Framework Members Only checkbox.

Framework Support and New Features

The .NET Compact Framework version 2.0 Beta introduces new features and provides more support for .NET Framework classes. It also provides better performance in several feature areas, including just-in-time (JIT) compilation, garbage collection, XML Web services, and data access.

Support for full .NET Framework features

The following table summarizes the increased framework support of the .NET Compact Framework:

Expanded support Description
Application Domains Support is provided for unloading an application domain.
Cryptographic support Cryptography and X509Certificates are supported.
System.Data.DataSet
improvements
The System.Data.DataSet.GetChanges method is supported along with more classes in the System.Data namespace.
Events Internal improvements have been made in raising events.
Exceptions Improved exception handling by the following:
Globalization Additional encodings are now supported.
Assemblies Friend Assemblies (C#) are supported
Networking Support for NTLM authentication and support for IPv6, the next generation of the Internet protocol System.Net.CredentialCache is now supported.
Message Queuing (MSMQ) Support for System.Messaging classes. Because journaling can make heavy demands use on system resources, the .NET Compact Framework provides an overload for the Create method of the System.Messaging.MessageQueue class to specify journaling. For an example, see MSMQ Book Order Application Sample.
Registry Keys You can now set registry keys by using the Microsoft.Win32.RegistryKey class. An open RegistryKey and its open child RegistryKey objects have to be explicitly closed prior to successful deletion of the key. The maximum depth of registry keys is 15. This is a Windows CE limitation.
Serial Ports You can now access serial ports as you can in the full .NET Framework. For an example see, Serial Communication Application Sample.
SQL Server See What's New in SQL Mobile
Strings The System.String.Substring method now throws an exception if the startIndex parameter is greater than the length parameter. String.Empty.Substring(0, 1) throws an System.ArgumentException.
Threading Support for the System.Windows.Forms.Control.BeginInvoke, System.Windows.Forms.Control.EndInvoke method, and using parameters with the System.Windows.Forms.Control.Invoke method.
XML support XML support now includes:

New Features

The following table summaries new device-specific features in the .NET Compact Framework:


Feature
Description
Stand-alone development
Although command line compilation was supported in the .NET Compact Framework version 1.0, the .NET Compact Framework now provides greater stand-alone compiling and debugging support. The .NET Compact Framework SDK is included in the .NET Framework stand-alone SDK. For more information,
see How to: Compile at the Command Line.
Force an earlier .NET Compact

Interoperability Enhancements

The .NET Compact Framework now supports calling COM objects from managed code; however, the ability to call a managed object from COM is planned but not implemented in this beta release. Current COM interoperability support allows you to program the Pocket Outlook Objects Model (POOM) and other native objects on a mobile device. Calls can be late-bound through System.Runtime.InteropServices.UnmanagedType.IDispatch, or early-bound. Although the .NET Compact Framework supports only a subset of the System.Runtime.InteropServices namespace, advanced marshaling capabilities are available with the support of the System.Runtime.InteropServices.MarshalAsAttribute attribute; in addition, the .NET Compact Framework supports several new members in the System.Runtime.InteropServices.Marshal class. You can now marshal a wide range of types through COM into the .NET Compact Framework, including all OLE Automation types. You can set a registry key to record marshaling of function calls in a log file. You can also use the .NET Framework SDK type library import tool (Tlbimp.exe), with the .NET Compact Framework. In Visual Studio, you can add a reference a COM type library in a device project.
The COM Single-Threaded Apartment threading model is not supported. For more information see Interoperability and the .NET Compact Framework.

Newly Supported Classes

This topic lists classes that are newly supported by the .NET Compact Framework version 2.0 Beta. This list is not comprehensive and subject to change. For information about how to use the class library to determine .NET Compact Framework support and versioning,
see How to: Use the Class Library for the .NET Compact Framework.

Newly Supported Classes by Namespace

The following table lists the newly supported classes in the .NET Compact Framework version 2.0 Beta. Note that this list includes both new classes introduced in the full .NET Framework and new classes that are exclusive to the .NET Compact Framework.

Namespace Newly Supported Classes
Microsoft.VisualBasic T:Microsoft.VisualBasic.ComClassAttribute
DefaultInstanceProperty
FileAttribute
Globals
MyGroupAttribute
MyGroupCollectionAttribute
VariantType
VbStrConv
Microsoft.VisualBasic.CompilerServices Conversions
NewLateBinding
ObjectFlowControl
Operators
Versioned
Microsoft.WindowsCE.FormsNote that these classes are exclusive to the .NET Compact Framework. BalloonChangedEventArgs
BalloonChangedEventHandler
DocumentList
DocumentListEventArgs
DocumentListEventHandler
DpiAwareAttribute
HardwareButton
HardwareKeys
InputMethod
InputMode
InputModeEditor
LogFont
Notification
ResponseSubmittedEventArgs
ResponseSubmittedEventHandler
RichInk
RichInkColor
RichInkInputMode
RichInkPageStyle
RichInkStreamType
ScreenOrientation
SystemSettings
System AppDomainUnloadedException
BadImageFormatException
CannotUnloadAppDomainException
MethodAccessException
MTAThreadAttribute
STAThreadAttribute
StringComparer
TimeoutException
System.Collections IKeyComparer
SortedList
System.Collections.Specialized StringDictionary
System.Data AdapterMappingException
ConflictOptions
DataAdapterException
DataTableClearEventArgs
DataTableClearEventHandler
DataTableNewRowEventArgs
DataTableNewRowEventHandler
DataTableReader
LoadOption
MergeFailedEventArgs
MergeFailedEventHandler
StrongTypingException
System.Data.Sql DataAccessKind
SqlFunctionAttribute
SqlMetaData
SqlMethodAttribute
SystemDataAccessKind
System.Data.SqlServerCeNote that these classes are exclusive to the .NET Compact Framework and are installed by Visual Studio. CommitMode
OnStartTableDownload
OnStartTableUpload
OnSynchronization
RepairOption
ResultSetEnumerator
ResultSetOptions
ResultSetSensitivity
ResultSetView
RowView
SnapshotTransferType
SqlCeLockTimeoutException
SqlCeResultSet
SqlCeTransactionInProgressException
SqlCeType
SqlCeUpdatableRecord
System.Data.SqlTypes SqlBytes
SqlChars
SqlNotFilledException
SqlStreamChars
SqlXml
StorageState
System.Diagnostics DebuggerHiddenAttribute
DebuggerNonUserCodeAttribute
System.Drawing TextureBrush
System.Drawing.Drawing2D DashStyle
System.Drawing.Imaging BitmapData
ImageFormat
ImageLockMode
PixelFormat
System.Drawing.Text FontCollection
InstalledFontCollection
System.IO.Ports Handshake
Parity
SerialErrorEventArgs
SerialErrorEventHandler
SerialErrors
SerialPinChangedEventArgs
SerialPinChangedEventHandler
SerialPinChanges
SerialPort
SerialReceived
SerialReceivedEventArgs
SerialReceivedEventHandler
StopBits
System.Messaging AcknowledgeTypes
Acknowledgment
DefaultPropertiesToSend
IMessageFormatter
Message
MessageEnumerator
MessagePriority
MessagePropertyFilter
MessageQueue
MessageQueueErrorCode
MessageQueueException
MessageQueuePermissionAccess
MessageQueueTransactionType
MessageType
PeekCompletedEventArgs
PeekCompletedEventHandler
ReceiveCompletedEventArgs
ReceiveCompletedEventHandler
XmlMessageFormatter
System.Net CredentialCache
System.Net.Sockets IPv6MulticastOption
System.Runtime.CompilerServices InternalsVisibleToAttribute
IsVolatile
System.Runtime.InteropServices ClassInterfaceAttribute
ClassInterfaceType
ComEventInterfaceAttribute
COMException
ComImportAttribute
ComInterfaceType
ComSourceInterfacesAttribute
CurrencyWrapper
DispatchWrapper
ErrorWrapper
FieldOffsetAttribute
InterfaceTypeAttribute
InvalidComObjectException
MarshalAsAttribute
MarshalDirectiveException
PreserveSigAttribute
SafeArrayRankMismatchException
SafeArrayTypeMismatchException
TypeLibTypeAttribute
TypeLibTypeFlags
UnknownWrapper
VarEnum
System.Runtime.InteropServices.ComTypes CONNECTDATA
IConnectionPoint
IConnectionPointContainer
IEnumConnectionPoints
IEnumConnections
System.Runtime.Remoting IObjectHandle
ObjectHandle
System.Threading ThreadAbortException
ThreadTerminateException
System.Windows.Forms

AnchorStyles
AutoScaleMode
AxHostBase
Clipboard
DataConnector
DataFormats
DataObject
DateRangeEventArgs
DateRangeEventHandler
DateTimePicker
DateTimePickerFormat
Day
DockStyle
Help
HelpEventArgs
HelpEventHandler
IBindableComponent
ICurrencyManagerProvider
IDataObject
ItemChangedEventMode
LinkLabel
MonthCalendar
Splitter
TickStyle
UserControl
WebBrowser
WebBrowserDocumentCompletedEventArgs
WebBrowserDocumentCompletedEventHandler
WebBrowserNavigatedEventArgs
WebBrowserNavigatedEventHandler
WebBrowserNavigatingEventArgs
WebBrowserNavigatingEventHandler
WebBrowserReadyState

System.Xml ConformanceLevel
IHasXmlNode
IXmlNamespaceResolver
ValidationType
XmlConvertDateTimeOption
XmlFactory
XmlNamespaceScope
XmlNodeOrder
XmlQualifiedNameTable
XmlReaderSettings
XmlTokenizedType
XmlWriterSettings
System.Xml.Schema XmlSchemaMinInclusiveFacet
XmlSchemaMinLengthFacet
XmlSchemaNotation
XmlSchemaNumericFacet
XmlSchemaObjectCollection
XmlSchemaObjectEnumerator
XmlSchemaObjectTable
XmlSchemaParticle
XmlSchemaPatternFacet
XmlSchemaRedefine
XmlSchemaSequence
XmlSchemaSet
XmlSchemaSimpleContent
XmlSchemaSimpleContentExtension
XmlSchemaSimpleContentRestriction
XmlSchemaSimpleType
XmlSchemaSimpleTypeContent
XmlSchemaSimpleTypeList
XmlSchemaSimpleTypeRestriction
XmlSchemaSimpleTypeUnion
XmlSchemaTotalDigitsFacet
XmlSchemaType
XmlSchemaUnique
XmlSchemaUse
XmlSchemaValidationException
XmlSchemaValidity
XmlSchemaWhiteSpaceFacet
XmlSchemaXPath
XmlSeverityType
XmlTypeCode
XmlValueConverter
System.Xml.Serialization IXmlTextParser
SoapAttributeOverrides
SoapAttributes
SoapReflectionImporter
UnreferencedObjectEventArgs
UnreferencedObjectEventHandler
XmlAnyElementAttributes
XmlArrayItemAttributes
XmlAttributeEventArgs
XmlAttributeEventHandler
XmlAttributeOverrides
XmlAttributes
XmlElementAttributes
XmlElementEventArgs
XmlElementEventHandler
XmlMapping
XmlNodeEventArgs
XmlNodeEventHandler
XmlSerializer
XmlTypeMapping
System.Xml.XPath

What's New in SQL Server Mobile

Microsoft SQL Server 2005 Mobile Edition (SQL Mobile) is the next release of Microsoft SQL Server 2000 Windows CE Edition 2.0 (SQL Server CE). The new version of SQL Mobile is a feature-rich compact database that is designed to support an expanded list of devices, including the Tablet PC and future releases of the Windows Mobile Smartphone. This additional device support enables developers to use the same database functionality across many devices, from a Smartphone to a Pocket PC to a Tablet PC.

Feature Improvements to Enhance Reliability and Performance

SQL Mobile has many new and updated features that enhance the database reliability and performance. These improvements can be divided into general feature categories: merge replication, the storage engine, and the query processor.

Synchronization

Several enhancements are available to improve the process of replicating and synchronizing data with SQL Mobile. The enhancements include the following:

Support for multiple subscriptions

Previously, only one subscription could be created for each database. In an environment where the published data derives from multiple publications, an application developer had to create a separate subscription database for each publication, and then specify which database the application needed to open. With SQL Mobile, however, multiple subscriptions can be contained in a single database, thereby reducing the amount of programming required. For more information about multiple subscriptions, see Supporting Multiple Subscriptions.

Multiuser support and synchronization

To support multiple applications accessing the same database at the same time, SQL Mobile provides multiuser support. Multiuser support enables multiple users to synchronize data while using the same application, so the database does not have to be disconnected before they use merge replication or remote data access (RDA).

Synchronization progress status

Developers can use the managed APIs to provide synchronization status feedback, which can be used to inform users of synchronization progress. ERROR: no text provided

Column-level tracking

In previous versions of SQL Mobile, an entire row was synchronized with SQL Server even if only one column in the row had been modified. This often resulted in longer synchronization times if the unmodified columns in the row contained large amounts of data. In SQL Mobile, only the modified columns are synchronized.

Storage Engine

The new and improved features of storage engine in SQL Mobile enhance the reliability and performance of mobile applications. These features include:

Revamped storage engine

The storage engine architecture has been rewritten to optimize for a mobile architecture in which each application shares a common memory pool. Greater data reliability is now ensured through true atomicity, consistency, isolation, and durability (ACID) support, and when devices experience battery power issues and connectivity disruptions. ERROR: no text provided

Multiuser support

To support multiple applications accessing the same database at the same time, SQL Mobile provides row-level locking of data pages, page-level locking, and isolation levels to help ensure data integrity during concurrency. ERROR: no text provided

Auto re-use of empty pages

SQL Mobile supports the auto-shrink feature, which automatically reclaims unused data pages and saves device storage space. ERROR: no text provided

Query Processor

Improvements to the SQL Mobile query processor include:

Cost-based optimization

The query processor takes advantage of statistics support in the storage engine to create substantially better cost-based query plans. ERROR: no text provided

Execution plan and query hints

With SQL Mobile, developers can view the query plan, and then refine the queries as appropriate. For example, you may refine the query plan based on your database design, access time of the media, or CPU speed for your specific smart devices.

A new SqlCeResultSet object

The new SqlCeResultSet object exposes an updateable, scrollable cursor so developers can directly access a SQL Mobile database without double buffering data on the device with a Dataset object. This class provides substantial performance improvements over using the Dataset object while reducing the amount of code required to accomplish the same task. It also supports WinForms data binding interfaces and can be bound to UI controls such as DataGrid, TextBox, and ListBox.

Integration with Other Microsoft Products

SQL Mobile has been integrated into two desktop-based applications, SQL Server 2005 and Visual Studio 2005, which allows greater flexibility when creating and testing SQL Server Mobile databases.

 

Integration with SQL Server 2005

You can manage a SQL Mobile database on a desktop computer or a smart device by using SQL Server Management Studio, a SQL Server 2005 management tool that replaces SQL Server Enterprise Manager and SQL Server Query Analyzer. This integrated tool provides the same experience for users whether they connect to SQL Server 2005 or SQL Mobile.

Benefits of using SQL Server Management Studio include the following:

Graphical query execution plans

Graphical query execution plans enable developers to easily see query execution plans and so better understand potential query performance issues. A separate feature, query hints, is available to control some aspects of the execution plan.

New Subscription wizard

New Subscription Wizard requires minimal effort by users in creating, and subsequently synchronizing, a subscription database. For more information, see New Subscription Wizard.

Improved Web Configuration Wizard

SQL Mobile supports improved versions of Web configuration Wizard. The improvements in Web configuration Wizard include enhanced usability, support for HTTPS virtual directories, and the ability to configure remote IIS computers.

Integration with Data Transformation Services (DTS)

DTS enables developers to transfer data between a SQL Mobile database and a variety of data sources, including Microsoft Access, Oracle, and IBM databases.

SQL Editor

The SQL Editor component of SQL Server Management Studio is the primary tool for interactively designing and testing Transact-SQL statements, queries, and scripts. The SQL Editor has several features that simplify the process of writing and editing queries and code. You can also edit scripts that are created from files or from Object Explorer.

Database Deployment

From within SQL Server Management Studio, you can create SQL Mobile databases on the local computer. You can configure these databases, populate them with data, and then deploy the databases to multiple devices, thus saving considerable development and deployment time.

Some of the enhancements made in SQL Server 2005 for merge replication provide the following benefits for SQL Mobile applications:

Managed application programming interface (API) access to synchronize business logic

SQL Server 2005 exposes a managed API that allows developers to manipulate business logic data before that data is stored in the SQL Server database.

Support for download-only articles (tables)

This feature reduces the amount of metadata transferred during initial synchronization and reduces the processing time on SQL Server when developers perform subsequent synchronizations.

Support for partitioned (filtered) articles

Many mobile applications filter data so that users do not access the same data across devices. With support for partitioned articles, developers can significantly reduce synchronization time and increase scalability. This feature is especially useful for deployments of a large number of smart devices. For more information on partitioned articles, see Creating the Publication

Integration with Visual Studio 2005

There are two major enhancements to the integration of SQL Mobile with Visual Studio 2005:

Database Management

Developers can manage a SQL Mobile database on a desktop computer or a smart device using Visual Studio 2005. With this feature, developers can drag a SQL Mobile table to a control in the smart device application and have that control automatically bind to the table.

Deployment Options

- Automatic Installation of SQL Mobile

When you use Visual Studio to build a .NET application that uses SQL Mobile, the SQL Mobile engine is automatically installed on the device the first time you deploy the application. If you are building a native application with Visual Studio 2005, you will need to manually install SQL Mobile. The installation .cab file can be found in the following location:
C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0\<platform>\<processor>\sqlce.<platform>.<processor>.cab
Copy the .cab file to the device, and then open .cab file on the device to install SQL Mobile.

- My Computer Deployment

Deploying to My Computer launches the SQL Mobile application on your desktop computer. This new feature takes advantage of .NET Compact Framework functionality that allows smart device applications to run on the .NET Framework without recompilation. To deploy to My Computer, do the following from within Visual Studio 2005:

1. In Solution Explorer, right click on your existing SQL Mobile project, and then choose Properties.
2. Select the Build Events tab on the left.
3. In the Post-build event command line textbox, type the following command:
4. In Solution Explorer, expand the References node, right click on System.Data.SqlServerCe, and then choose Properties.
5. In the Properties window, set the Copy Local property to FALSE.
6. Rebuild your entire application.



   
bluetooth
Binaryspectrum develops EMR, EHR, Practice Management, e-prescription, e-Commerce, CRM and SCM systems using .Net, J2EE, Oracle, Bluetooth and Piconet platforms with Microsoft certified professionals
 
sunpartner
 
Case Studies
arrow HL7 Integration
arrow HIPPA Transactions
arrow Template Manager
  More case studies
 
image
arrow How to choose the right EMR for your Practice?
arrow

What is the roadmap for the implementation of an EHR system at a practice?

arrow Which is better - Web based EMR system or Client server EMR system?
arrow six stages in the EMR implementation road map
  Ask more questions?
   
Healthcare Blog
healthcare

Privacy | Terms of use | Blog | EMR | EHR | Retail | MS.NET | Wireless | Design | Healthcare Areas | Healthcare Security | Healthcare Stat-license | Retail - Store Operation

© 2003 Binary Spectrum All Rights Reserved