Is there already a .NET client library for accessing ArcGIS REST API?

2187
2
Jump to solution
12-26-2013 09:21 AM
JeffJacobson
Occasional Contributor III
I have been working on a .NET client library for the ArcGIS REST API, adding features as I need them. Before I put too much work into this I just wanted to make sure something like this doesn't already exist elsewhere.

Is anyone aware of a .NET client library for the ArcGIS REST API (other than my incomplete one that I linked above)?
0 Kudos
1 Solution

Accepted Solutions
RichardWatson
Frequent Contributor
I think that the answer to your question is no.

Obviously, you can use an ESRI SDK such as the ArcGIS Runtime SDK for WPF:

http://resources.arcgis.com/en/communities/runtime-wpf/

For .NET, I do think that you want to have a set of strongly typed classes which expose async methods that check the result and throw exceptions when it is something other than success.

Another approach is to dynamically form and issue requests and then parse the returned JSON.  I personally don't think much of this approach but believe that is what ESRI does under the covers.  When you start mapping the results to strong types, i.e. classes, you will see seams where the implementation of the REST API is not well done.  One example, and there are many, is that some APIs do not document the JSON syntax of the response on failure.

I have largely written and used my own classes.

View solution in original post

0 Kudos
2 Replies
RichardWatson
Frequent Contributor
I think that the answer to your question is no.

Obviously, you can use an ESRI SDK such as the ArcGIS Runtime SDK for WPF:

http://resources.arcgis.com/en/communities/runtime-wpf/

For .NET, I do think that you want to have a set of strongly typed classes which expose async methods that check the result and throw exceptions when it is something other than success.

Another approach is to dynamically form and issue requests and then parse the returned JSON.  I personally don't think much of this approach but believe that is what ESRI does under the covers.  When you start mapping the results to strong types, i.e. classes, you will see seams where the implementation of the REST API is not well done.  One example, and there are many, is that some APIs do not document the JSON syntax of the response on failure.

I have largely written and used my own classes.
0 Kudos
JeffJacobson
Occasional Contributor III
@rlwatson, Thanks for the info.

I don't want to use the ArcGIS Runtime SDK for WPF due to the complications with licensing and authorization.

I'll be using your suggested approach:
For .NET, I do think that you want to have a set of strongly typed  classes which expose async methods that check the result and throw  exceptions when it is something other than success.


Background:

I am currently updating a legacy ASP.NET Web Forms application that currently uses the ArcGIS SOAP SDK to call Esri's free routing service. Esri is dropping support for this service at the end of this year, so I need to update the application to use their new routing service. As far as I can tell there is no SOAP endpoint for this service, so I need to use REST instead. (The new service also requires a OAuth login, where the old one did not.)
0 Kudos