There are several discussion about implementing (or not implementing) WFS with .net from scratch.

However, if I do need to, how do I get started?

I know it's a broad question. I need help getting started. Any kind of walk through will be helpful.

I am looking for a step by step walkthrough with details assuming I'm just a GIS person with limited knowledge to a lot of programming concepts.

  • client or server?
    – Ian Turton
    Aug 1, 2013 at 5:50
  • server, please! Will be using WFS to query data from SQL spatial. For now client will be ArcMap and other custom web apps.
    – Garima V
    Aug 1, 2013 at 14:30
  • do you have previous experience using ArcMap as a WFS client? Your options are 1) call all data on demand and watch the UI crawl due to communication delays or 2) cache all of the WFS's data in ArcMap and have it expire after 24 hours. In some situations it is simpler, faster, and cheaper to regularly export data from the DB into file format
    – tomfumb
    Aug 1, 2013 at 17:01
  • tomfumb - I've worked with ArcMap for several years now. Not with as a client for open source. The idea is to move to a custom built client in future. So I am not worried about that as such but thank you!
    – Garima V
    Aug 1, 2013 at 18:32

1 Answer 1


Let me start by saying: This is a bad idea, please go and investigate any of the existing WFS server solutions that have been tested and developed for many years that will get you up and running in a day.

Still here then here's the plan:

  1. download and read the WFS Spec
  2. write C# code to handle all the request end points listed in the spec (the 1st 3 are mandatory)

    1. getCapabilities
    2. DescribeFeatureType
    3. GetFeature
    4. GetGmlObject
    5. Transaction
    6. LockFeature
  3. Write C# code to talk to the SQL spatial DB

  4. write C# code to convert SQL spatial objects to GML (don't forget to implement GML2 and GML3)
  5. write some tests (and then run and pass the CITE tests).
  6. futz about trying to understand how the ESRI guys implmented the client end (hint not quite the same as everyone else).

Seriously this is a bad plan


Not the answer you're looking for? Browse other questions tagged or ask your own question.