What's new in 10


Summary
This topic outlines the updates to the Web Application Developer Framework (ADF) included in ArcGIS 10 to enhance and streamline the usability and performance of the product.

In this topic


ArcWeb libraries have been removed

The ESRI.ArcGIS.ADF.ArcWebServices.dll and ESRI.ArcGIS.ADF.Web.DataSources.ArcWebService.dll libraries have been removed from the product. ArcWeb services are no longer available.

FindPlace task has been removed

The FindPlace task depended solely on ArcWeb services. Since ArcWeb services are no longer available, the FindPlace task has been removed. To emulate the capabilities of FindPlace task, use the FindAddress task with ESRI_Places_World (GeocodeServer).

ESRI.ArcGIS.Server.WebControls library has been removed

The ESRI.ArcGIS.Server.WebControls assembly, which represents the architecture of the .NET Web ADF before ArcGIS 9.2, has been removed at ArcGIS Server 10. This assembly was delivered in ArcGIS 9.2 and 9.3 for the purposes of easing the migration to the new architecture. The current and latest architecture offers all of the functionality available in the old architecture.

ADF and ADF.Connection libraries have been deprecated

The ESRI.ArcGIS.ADF.dll and ESRI.ArcGIS.ADF.Connection.dll libraries have been deprecated and might be removed from the product in a future release. To use ArcObjects functionality in an application, add references to the Local libraries, ESRI.ArcGIS.ADF.Local.dll and ESRI.ArcGIS.ADF.Connection.Local.dll. For more information, see the Separate libraries for ArcGIS Server local connections section in this topic.
If ArcObjects functionality is not required and/or you want to create a pure 64-bit application, add references to the ESRI.ArcGIS.ADF.Core.dll and ESRI.ArcGIS.ADF.Connection.Core.dll Core libraries. For more information, see the Support for 64-bit applications section in this topic.

Separate libraries for ArcGIS Server local connections

Any components that work with ArcGIS Server over a local connection, require ArcObjects Primary Interop Assemblies (PIAs) and Component Object Model (COM) proxies. ArcObjects are only supported in a 32-bit environment. As a result, components that depend on ArcObjects have been separated into distinct libraries, five of which are new in 10. See the following:
  • ESRI.ArcGIS.ADF.Local
  • ESRI.ArcGIS.ADF.Connection.Local
  • ESRI.ArcGIS.ADF.ArcGISServer.Local
  • ESRI.ArcGIS.ADF.Web.DataSources.ArcGISServer.Local
  • ESRI.ArcGIS.ADF.Web.UI.WebControls.Layout
  • ESRI.ArcGIS.ADF.ArcGISServer.Editor (existed before ArcGIS 10)

Support for 64-bit applications

To create an ADF application that supports deployment in a pure 64-bit environment, do not reference assemblies that require ArcObjects (see the preceding section). To use classes in the ESRI.ArcGIS.ADF and ESRI.ArcGIS.ADF.Connection libraries, reference the ESRI.ArcGIS.ADF.Core.dll and ESRI.ArcGIS.ADF.Connection.Core.dll Core libraries.

Support for coded value domain and subtype descriptions

There is better support for querying and displaying the description values for domains and subtypes in ArcGIS Server map services.
The Query task can now query based on the code or description value stored with domains and subtypes. The Query task configurator in Manager and Visual Studio allows you to continue to use the code. The Search task only supports inputting the code value.
The Search, Query, and MapTips controls now have a ShowCodedValueAsDescription property that determines whether the code or description is displayed. By default, it shows the description. You must use Visual Studio or edit the markup directly to change this (it is not exposed in Manager).
If the domain is stand-alone, it displays the code or description. If the domain is part of a subtype, the code always displays.

Support for stand-alone tables

The Query and Search task can query layers or stand-alone tables in an ArcGIS Server map service. When querying a stand-alone table, it is assumed that there are related feature classes that become highlighted when the selected results are "pushed" between tables.
Users can now define layer definitions on stand-alone tables at the map resource or task level. (This needs more testing and refinement.)
If you query, search, or identify a layer that has related stand-alone tables, you can access these child records in the Identify Callout and Task Results control.

Support for related data

Use the Identify tool in the Web Mapping Application template, or the Search or Query task to query a feature class in an ArcGIS Server map service, and return related rows.
  • The Identify tool allows you to access related rows in a child table that is one level deep. The parent and child records can be added to the TaskResults panel and highlighted.
  • Using a Search or Query task to query a layer or table that has related child tables display the related rows as additional nodes in the Task Results control. The related rows are fetched on demand when the node is expanded. Unlike the Identify tool, there are no limits on the depth of related data that can be returned. 

New Identify control

A new MapIdentify control has been added to the ADF (in ESRI.ArcGIS.ADF.Web.UI.WebControls). Several properties on the MapIdentify control, such as tolerance and layers to identify, can be set explicitly. The Identify tool in the Web Mapping Application uses the new MapIdentify control. The Identify tool cannot be configured in Manager.

New ZoomToScale control

A new ZoomToScale control has been added to the ADF (in ESRI.ArcGIS.ADF.Web.UI.WebControls). The control is included in the Web Mapping Application template. The ZoomToScale control uses the primary map resource to determine how it functions at runtime. If the primary map resource is a cached service, a user can select from a list of cache levels. If the primary map resource is dynamic, a user can add the scale in a text box.

New GoToLocation control

The GoToLocation control has been added to the ADF (in ESRI.ArcGIS.ADF.Web.UI.WebControls). The control is included in the Web Mapping Application template. At runtime, the user can add a location (coordinate), and zoom to or pan to the location. Several options can be modified, such as the label text and zoom factor. 

New Extent property on Full Extent command

The FullExtent command has a Configuration property that takes in the <minx,miny,maxx,maxy> for the extent to zoom to when the command is clicked. By default, the FullExtent command uses the full extent of the primary map resource. 

Preserve Extent or Scale with the Print task

A set of new properties on the Print task enable the preservation of scale or extent when creating a print layout. The properties can also be modified in Manager. By default, the map scale is maintained when generating a print layout.