Reduce ArcGIS Server Boilerplate Code By Implementing IDisposable

by James Richards April 19, 2009

When programming with ArcObjects and ArcGIS Server, code often follows a common pattern of connecting to ArcGIS Server, getting hold of an IServerContext, doing some work, and releasing the context. This leads to a lot of unnecessarily repeated setup and teardown code, usually taking a form similar to the following example:

IServerContext context = null;

try

{

    IGISServerConnection conn = new GISServerConnectionClass()

        as IGISServerConnection;

 

    // Connect as ASPNET or NETWORK SERVICE.

    // Get optional host setting from web.config,

    // or use localhost if not found.

    string host = ConfigurationManager.AppSettings["AGSHost"];

    if (String.IsNullOrEmpty(host))

    {

        host = "localhost";

    }

 

    // Make connection

    conn.Connect(host);

    IServerObjectManager som = conn.ServerObjectManager;

    context = som.CreateServerContext("MyServer", "MapServer");

   

    // Do some stuff with the server context

}

finally

{

    if (context != null)

    {

        context.ReleaseContext();

    }

}

In this example, there is a lot of boilerplate happening just to get to the server context and do something interesting. Seeing this kind of code repeated throughout an ArcGIS Server project made me a little queasy as it violates the DRY Principle, so that got me thinking about how to eliminate it. More...

Tags: , , ,

.NET | ArcGIS Server | Planet GS

How To Use URL Rewriting for Extensionless WCF Svc Services with Helicon Tech ISAPI Rewrite

by James Richards February 02, 2009

Recently I was working on a WCF Service and wanted to serve it up with extensionless URLs. I downloaded and installed ISAPI Rewrite (Lite version) but struggled to come up with the correct regex expression to get it working.

I found many good blog postings and clues from Scott Gu, Scott Hanselman, and Jeff Atwood, and a thread on Stack Overflow, but none of these answered this specific question. As Scott Hanselman noted, URL rewriting can seem like "freaking voodoo".

So I moseyed on over to the Helicon Tech support forum and More...

Tags: , , , , ,

.NET | ASP.NET | How To | REST | WCF

Powered by BlogEngine.NET 1.6.0.0
Theme by Mads Kristensen | Modified by Mooglegiant
Creative Commons License This work is licensed under a Creative Commons Attribution 3.0 United States License.

Welcome

James Richards

Hi, I'm James Richards and I'm a GIS Programmer and Consultant from Los Angeles, California. I mostly write about developing spatial software with ESRI and Microsoft technologies. I can be reached through the contact form, or through my company Artisan Global LLC. Thanks for stopping by, I hope you find something helpful here.

Subscribe by RSS   Follow me on Twitter   Connect on Facebook   View my profile on LinkedIn


Amazon Associates

Some of my posts may contain Amazon Associates links. I only include these links when it makes sense within the context of the article. If you are in the market for one of these items, please consider clicking on an affiliate link to make your purchase. You still get the same great deal from Amazon and it will help me pay for hosting and bandwidth. Thanks!