Developing Applications with ArcGIS Server Using the Microsoft .NET Framework

quiverlickforkΛογισμικό & κατασκευή λογ/κού

2 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

157 εμφανίσεις

Developing
Applications with
ArcGIS
®
Server Using
the Microsoft
®
.NET
Framework
Copyright © 2007-2009 ESRI
All rights reserved.
Course version 2.4. Revised August 2009.
Printed in the United States of America.
The information contained in this document is the exclusive property of ESRI. This work is protected under United States copyright law
and other international copyright treaties and conventions. No part of this work may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying and recording, or by any information storage or retrieval system, except as
expressly permitted in writing by ESRI. All requests should be sent to Attention: Contracts and Legal Services Manager, ESRI, 380 New
York Street, Redlands, CA 92373-8100 USA.
The information contained in this document is subject to change without notice.
U. S. GOVERNMENT RESTRICTED/LIMITED RIGHTS
Any software, documentation, and/or data delivered hereunder is subject to the terms of the License
Agreement. The commercial license rights in the License Agreement strictly govern Licensee's use,
reproduction, or disclosure of the software, data, and documentation. In no event shall the U.S. Government
acquire greater than RESTRICTED/LIMITED RIGHTS. At a minimum, use, duplication, or disclosure by the
U.S. Government is subject to restrictions as set forth in FAR §52.227-14 Alternates I, II, and III (DEC 2007);
FAR §52.227-19(b) (DEC 2007) and/or FAR §12.211/12.212 (Commercial Technical Data/Computer
Software); and DFARS §252.227-7015 (NOV 1995) (Technical Data) and/or DFARS §227.7202 (Computer
Software), as applicable. Contractor/Manufacturer is ESRI, 380 New York Street, Redlands, CA 92373-8100,
USA.
@esri.com, 3D Analyst, ACORN, Address Coder, ADF, AML, ArcAtlas, ArcCAD, ArcCatalog, ArcCOGO, ArcData, ArcDoc, ArcEdit,
ArcEditor, ArcEurope, ArcExplorer, ArcExpress, ArcGIS, ArcGlobe, ArcGrid, ArcIMS, ARC/INFO, ArcInfo, ArcInfo Librarian,
ArcInfo—Professional GIS, ArcInfo—The World's GIS, ArcLessons, ArcLocation, ArcLogistics, ArcMap, ArcNetwork,ArcNews,
ArcObjects, ArcOpen, ArcPad, ArcPlot, ArcPress, ArcQuest, ArcReader, ArcScan, ArcScene, ArcSchool, ArcScripts, ArcSDE, ArcSdl,
ArcSketch, ArcStorm, ArcSurvey, ArcTIN, ArcToolbox, ArcTools, ArcUSA,ArcUser, ArcView, ArcVoyager,ArcWatch, ArcWeb,
ArcWorld, ArcXML, Atlas GIS, AtlasWare, Avenue, Business Analyst Online, BusinessMAP, CommunityInfo, Data Automation Kit,
Database Integrator, DBI Kit, EDN, ESRI, ESRI—Team GIS, ESRI—The GIS Company, ESRI—The GIS People, ESRI—The GIS
Software Leader, FormEdit, GeoCollector, Geographic Design System, Geography Matters, Geography Network, GIS by ESRI, GIS Day,
GIS for Everyone, GISData Server, JTX, MapBeans, MapCafé, MapData, MapIt, Maplex, MapObjects, MapStudio, ModelBuilder, MOLE,
MPS—Atlas, NetEngine, PC ARC/INFO, PC ARCPLOT, PC ARCSHELL, PC DATA CONVERSION, PC STARTER KIT, PC TABLES,
PC ARCEDIT, PC NETWORK, PC OVERLAY, PLTS, Rent-a-Tech, RouteMAP, SDE, Site∙Reporter, SML, Sourcebook∙America, Spatial
Database Engine, StreetEditor, StreetMap, Tapestry, the ARC/INFO logo, the ArcAtlas logo, the ArcCAD logo, the ArcCAD WorkBench
logo, the ArcCOGO logo, the ArcData logo, the ArcData Online logo, the ArcEdit logo, the ArcEurope logo, the ArcExplorer logo, the
ArcExpress logo, the ArcGIS logo, the ArcGIS Explorer logo, the ArcGrid logo, the ArcIMS logo, the ArcInfo logo, the ArcLogistics
Route logo, the ArcNetwork logo, the ArcPad logo, the ArcPlot logo, the ArcPress for ArcView logo, the ArcPress logo, the ArcScan logo,
the ArcScene logo, the ArcSDE CAD Client logo, the ArcSDE logo, the ArcStorm logo, the ArcTIN logo, the ArcTools logo, the ArcUSA
logo, the ArcView 3D Analyst logo, the ArcView Data Publisher logo, the ArcView GIS logo, the ArcView Image Analysis logo, the
ArcView Internet Map Server logo, the ArcView logo, the ArcView Network Analyst logo, the ArcView Spatial Analyst logo, the
ArcView StreetMap 2000 logo, the ArcView StreetMap logo, the ArcView Tracking Analyst logo, the ArcWorld logo, the Atlas GIS logo,
the Avenue logo, the BusinessMAP logo, the Community logo, the Data Automation Kit logo, the Digital Chart of the World logo, the
ESRI Data logo, the ESRI globe logo, the ESRI Press logo, the Geography Network logo, the GIS Day logo, the MapCafé logo, the
MapObjects Internet Map Server logo, the MapObjects logo, the MOLE logo, the NetEngine logo, the PC ARC/INFO logo, the Production
Line Tool Set logo, the RouteMAP IMS logo, the RouteMAP logo, the SDE logo, The Geographic Advantage, The Geographic Approach,
The World's Leading Desktop GIS,Water Writes, www.esri.com, www.geographynetwork.com, www.gis.com, www.gisday.com, and
Your Personal Geographic Information System are trademarks, registered trademarks, or service marks of ESRI in the United States, the
European Community, or certain other jurisdictions.
Other companies and products mentioned herein may be trademarks or registered trademarks of their respective trademark owners.
1
2
3
C O N T E N T S
Introduction
Welcome to Developing Applications with ArcGIS Server Using the Microsoft .NET
Framework 1-1
Course objectives 1-2
Introductions 1-3
Logistics 1-4
Course content 1-5
Foundational knowledge 1-6
Foundation for Web ADF developers 1-7
Course materials 1-8
Resources for developers 1-9
ESRI Support Center 1-10
ArcGIS 1-11
Overview of the ArcGIS Server system 1-12
ASP.NET developers 1-13
Types of applications you can build 1-14
Product installations 1-15
Exercise goals 1-16
Getting started with Web ADF applications
Getting started with Web ADF applications 2-1
Learning objectives 2-2
What is the Web ADF?2-3
Web ADF overview 2-4
Getting started with Web ADF controls 2-5
Options for creating Web ADF applications 2-6
Web Mapping Application template 2-7
Advantages of working with a template 2-8
Visual Studio integration 2-9
Exercise goals 2-10
Lesson review 2-11
Using the Web ADF controls
Using the Web ADF controls 3-1
Learning objectives 3-2
Web ADF Web controls 3-3
Web ADF controls 3-4
MapResourceManager control 3-5
Map control 3-6
Resource-centric tiling 3-7
Copyright © 2007-2009 ESRI i
4
5
Image blending mode: Web tier 3-8
Image blending mode: Browser 3-9
PrimaryMapResource 3-10
Toc control 3-11
MapTips control 3-12
MapTips template 3-13
ContextMenu control 3-14
Exercise goals 3-15
Lesson review 3-16
Programming with the Common Data Source API
Working with the Common Data Source API 4-1
Learning objectives 4-2
Web ADF Common Data Source API 4-3
Web ADF assemblies 4-4
Working with the Common Data Source API 4-5
Data sources and resources 4-6
Resources and functionalities 4-7
Web ADF controls create functionalities 4-8
Web ADF controls use functionalities 4-9
Using the Common API programmatically 4-10
Retrieving resources in the Web ADF 4-11
Working with MapFunctionality 4-12
Accessing MapFunctionality 4-13
Working with QueryFunctionality 4-14
Creating QueryFunctionality 4-15
Using QueryFunctionality 4-16
Working with GeocodeFunctionality 4-17
Using GeocodeFunctionality 4-18
Working with GeoprocessingFunctionality 4-19
Using GeoprocessingFunctionality 4-20
Exercise conventions 4-21
Exercise goals 4-22
Lesson review 4-23
Working with commands and tools
Working with custom commands and tools 5-1
Lesson 5A learning objectives 5-2
Web ADF JavaScript library and Web controls 5-3
Toolbar control 5-4
Toolbar items 5-5
Adding a custom toolbar item 5-6
Creating a custom command 5-7
Implementing server-side logic for command 5-8
Developing Applications with ArcGIS Server Using the Microsoft .NET Framework Contents
ii Copyright © 2007-2009 ESRI
6
Associating toolbar items to server-side logic 5-9
Creating a custom tool 5-10
Implementing server-side logic for tool 5-11
Working with tool event arguments 5-12
Creating a custom drop-down box 5-13
Defining server-side logic for drop-down box 5-14
Exercise 5A goals 5-15
Lesson 5A review 5-16
Lesson 5B learning objectives 5-17
Working with the Web ADF JavaScript Library 5-18
Implementing client-side logic for toolbar item 5-19
Getting started with the Map client control 5-20
Web ADF JavaScript OMD 5-21
Custom client tool example 5-22
Exercise 5B goals 5-23
Lesson 5B review 5-24
Working with ASP.NET AJAX and Web ADF callback results
Working with ASP.NET AJAX and Web ADF callback results 6-1
Learning objectives 6-2
Overview: Updating controls asynchronously 6-3
Updating Web content 6-4
Example: Synchronous vs. Asynchronous 6-5
Reasons for using asynchronous requests 6-6
Working with asynchronous requests 6-7
ASP.NET AJAX overview 6-8
ASP.NET AJAX controls 6-9
AJAX and the Web ADF 6-10
Managing content asynchronously 6-11
Understanding Web ADF callback results 6-12
Web ADF server controls and CallbackResults 6-13
Using Web ADF callback results 6-14
ADF control initiates request 6-15
Non-ADF control initiates request 6-16
Dynamic script blocks 6-17
Adding data items on the server 6-18
Processing data items on the client 6-19
Callback results in a data item 6-20
Custom Web ADF callback results 6-21
Summary: Updating controls asynchronously 6-22
Best practices 6-23
Exercise goals 6-24
Lesson review 6-25
Contents
Copyright © 2007-2009 ESRI iii
7
8
9
Programming with Web ADF graphics (server)
Programming with Web ADF graphics (server) 7-1
Learning objectives 7-2
Web ADF graphics 7-3
Using graphics 7-4
Graphics in the Web ADF 7-5
Web-tier graphics layers (.NET) 7-6
Web-tier graphics data source 7-7
Web-tier geometry 7-8
Displaying geometry in a graphics layer 7-9
ElementGraphicsLayer: symbolizing elements 7-10
Working with Web-tier graphics layers 7-11
ElementGraphicsLayer 7-12
Add graphic elements 7-13
FeatureGraphicsLayer: rendering features 7-14
Create the FeatureGraphicsLayer 7-15
Define a renderer 7-16
Converter.ToGraphicsLayer method 7-17
Exercise goals 7-18
Lesson review 7-19
Programming with Web ADF graphics (client)
Programming with Web ADF graphics (client) 8-1
Learning objectives 8-2
Web ADF graphics 8-3
Graphics in the Web ADF 8-4
Client-tier ADF JavaScript graphics 8-5
ADF JavaScript graphic feature classes 8-6
Geometry and attributes 8-7
Graphic feature symbols 8-8
MapTips and callouts 8-9
Graphic feature attributes in MapTips 8-10
Creating graphic features 8-11
Managing graphic features in the map 8-12
Rendering Web-tier graphics on the client 8-13
LayerFormat 8-14
LayerDefinitions 8-15
Web-tier interaction with client graphics 8-16
Best practices 8-17
Exercise goals 8-18
Lesson review 8-19
Programming with ArcGIS Server APIs (SOAP)
Programming with ArcGIS Server APIs (SOAP) 9-1
Developing Applications with ArcGIS Server Using the Microsoft .NET Framework Contents
iv Copyright © 2007-2009 ESRI
10
11
Learning objectives 9-2
Data source–specific APIs (SOAP) 9-3
Web ADF development paths 9-4
Programming with data source–specific APIs 9-5
Using SOAP services 9-6
ArcGIS Server SOAP API 9-7
ArcGIS Server SOAP API types 9-8
ArcGIS Server data source in the ADF 9-9
Geometry Service 9-10
GeometryServerProxy example 9-11
Common Data Source API coverage 9-12
Converting between Web ADF and SOAP 9-13
Shared value objects 9-14
Common data source API implementation 9-15
Shared functionalities use SOAP 9-16
Working with layer descriptions 9-17
Assigning a definition expression 9-18
Best practices: ArcGIS Server SOAP 9-19
Exercise goals 9-20
Lesson review 9-21
Programming with ArcGIS Server APIs (ArcObjects)
Programming with ArcGIS Server APIs (ArcObjects) 10-1
Learning objectives 10-2
Data source–specific APIs (ArcObjects) 10-3
Using the ArcObjects API with ArcGIS Server 10-4
Using the ArcObjects API in the ADF 10-5
Programming ArcObjects 10-6
Stateful changes using fine-grained ArcObjects 10-7
Managing server object state 10-8
ArcObjects operations on the server 10-10
Server object extensions 10-12
Converting between APIs 10-13
Converting between COM and SOAP types 10-14
Compare SOAP API and ArcObjects API 10-15
Best Practices 10-16
Best practice for thematic mapping 10-17
Exercise goals 10-18
Lesson review 10-19
The Web ADF task framework
The Web ADF task framework 11-1
Learning objectives 11-2
Web ADF task framework 11-3
Contents
Copyright © 2007-2009 ESRI v
12
13
Web tasks 11-4
The Web ADF Task Framework 11-5
Tasks included with the ADF 11-6
TaskManager control 11-7
Tasks for querying data 11-8
Print task 11-9
Custom Print task templates 11-10
Using tasks to find locations 11-11
ArcGIS Server Geoprocessing task 11-12
ArcGIS Server Editor task 11-13
TaskResults control 11-14
Working with task results 11-15
TaskResults: SimpleTaskResult 11-16
TaskResults: DataSet 11-17
DataSet with a graphics layer 11-18
TaskResults: TaskResultNode 11-19
TaskResults class utility methods 11-20
TaskResultNode 11-21
Leveraging the task framework 11-22
Exercise goals 11-23
Lesson review 11-24
Building custom tasks
Building custom tasks 12-1
Learning objectives 12-2
Task framework overview 12-3
Custom Web tasks 12-4
User Control Tasks 12-5
Design interface for user input 12-6
Inherit UserControlTaskPanel 12-7
Key members of a User control task panel 12-8
Add task execution logic 12-9
Start task execution 12-10
Add UserControlTask 12-11
Creating a custom Server control task 12-12
Key members of a Server control task 12-13
Extending Web ADF tasks 12-14
Design time enhancements 12-15
Best Practices 12-16
Exercise goals 12-17
Lesson review 12-18
Course conclusion
Course conclusion 13-1
Developing Applications with ArcGIS Server Using the Microsoft .NET Framework Contents
vi Copyright © 2007-2009 ESRI
Course objectives 13-2
ESRI educational support 13-3
Course evaluation 13-4
Thank you for attending 13-5
Contents
Copyright © 2007-2009 ESRI vii