- Additions to the Programming Model
- Fixes and Enhancements
- Features
- Summary
Fixes and Enhancements
In addition to the new features in the programming model, the behavior of some of the existing classes has been altered. A complete list of both the backward and forward binary and behavioral breaking changes can be found at http://www.gotdotnet.com/team/changeinfo/default.aspx. Of course, backward breaking changes include those that affect applications written for the .NET Framework v1.0 when running on v1.1. Forward breaking changes are those that affect .NET Framework v1.1 applications when running on v1.0. A quick perusal of the list indicates that there are 17 of the former and none of the latter that affect ADO.NET. Even though the 17 are classified as "breaking changes," they are actually behavioral changes that in many cases actually implement more consistent behavior, but may require some additional code to handle (for example, by adding a Try Catch block to handle an exception that is now thrown). To illustrate, the OleDbCommand.ExecuteReader method threw an exception when no rows were returned and the CommandBehavior.SingleRow option was passed to the method in v1.0. In v1.1, an empty OleDbDataReader is returned instead, so those applications expecting to catch an exception would need to be modified to expect the empty result. Fortunately, the changes listed on http://www.gotdotnet.com include scenarios that are relatively infrequent.
Not only should you look through those changes, but you should also consider a few enhancements to the existing behavior as well.
Interleaved XML. In v1.0, you can use the ReadXml method of the DataSet class to load a DataSet and its schema from an XML document that includes XSD and XML data. In v1.1, that document can include interleaved XSD and XML data and is not restricted to having the XSD appear only at the beginning of the XML document.
Encrypted Connection Strings. In an effort to boost security connection, strings are now encrypted in memory and will not be shown in error strings.
Performance. When using SqlClient, the performance has been improved when connecting using integrated security.
Locked Down Security. As documented in the change documents on http://www.gotdotnet.com, there have been several other security fixes and changes. For example, the AllowBlankPassword permission of the SqlPermission class now behaves correctly and disallows blank passwords in all situations, and the OleDb Provider now defaults to not allow blank passwords in the connection string. Finally, the OleDb, OracleClient, and Odbc providers now require FullTrust permissions due to their interaction with native pointers and APIs. This may require permission changes for applications using these providers.