Skip to main content
Commonmark migration
Source Link

Soapi.CS for .Net / Silverlight / Windows Phone 7 / Mono

##Soapi.CS for .Net / Silverlight / Windows Phone 7 / Mono as easy as breathing...:

##About

About

##License

License

##Platforms

Platforms

##Download

Download

##Documentation

Documentation

Sample Code / Usage Examples

##Sample Code / Usage Examples SampleSample code and usage examples will be added as answers to this question.

##Apps that use Soapi.CS

Apps that use Soapi.CS

##Contact

Contact

##Support Soapi

Support Soapi

##Soapi.CS for .Net / Silverlight / Windows Phone 7 / Mono as easy as breathing...:

##About

##License

##Platforms

##Download

##Documentation

##Sample Code / Usage Examples Sample code and usage examples will be added as answers to this question.

##Apps that use Soapi.CS

##Contact

##Support Soapi

Soapi.CS for .Net / Silverlight / Windows Phone 7 / Mono

as easy as breathing...:

About

License

Platforms

Download

Documentation

Sample Code / Usage Examples

Sample code and usage examples will be added as answers to this question.

Apps that use Soapi.CS

Contact

Support Soapi

edited title
Link
Brock Adams
  • 13k
  • 5
  • 39
  • 64

OBSOLETE - Soapi.CS : A fully relational fluent .NET Stack Exchange API client library

Notice removed Improve details by user48805
Bounty Ended with Sky Sanders's answer chosen by CommunityBot
Notice added Improve details by user48805
Bounty Started worth 100 reputation by CommunityBot
replaced http://stackapps.com/ with https://stackapps.com/
Source Link
  • A fully relational model of the API data set exposed via a fully 'dot navigable' IEnumerable (LINQ) implementation. Simply tell Soapi what you want and it will get it for you.

    e.g. "On my first question, from the author of the first comment, get the first page of comments by that person on any post"

    my.Questions.First().Comments.First().Owner.Comments.ToList();

    (yes this is a real expression that returns the data as expressed!)

  • Full coverage of the API, all routes and all parameters with an intuitive syntax.

  • Strongly typed Domain Data Objects for all API data structures.

  • Eager and Lazy Loading of 'stub' objects. Eager\Lazy loading may be disabled.

  • When finer grained control of requests is desired, the core RouteMap objects may be leveraged to request data from any of the API paths using all available parameters as documented on the help pages.

  • A rich Asynchronous implementation.

  • A configurable request cache to reduce unnecessary network traffic and to simplify your usage logic. There is no need to go out of your way to be frugal. You may set a distinct cache duration for any particular route.

  • A configurable request throttle to ensure compliance with the api terms of usage and to simplify your code in that you do not have to worry about and respond to 50X errors.

    The RequestCache and Throttled Queue are thread-safe, so can make as many requests as you like from as many threads as you like as fast as you like and not worry about abusing the api or having to write reams of management/compensation code.

  • Configurable retry threshold that will, by default, make up to 3 attempts to retrieve a request before failing. Every request made by Soapi is properly formed and directed so most any http error will be the result of a timeout or other network infrastructure. A retry buffer provides a level of fault tolerance that you can rely on.

  • An almost identical javascript library, Soapi.JSSoapi.JS, and it's full figured big brother, Soapi.JS2Soapi.JS2, that will enable you to leverage your server cycles and bandwidth for only those tasks that require it and offload things like status updates to the client's browser.

More information on the SOAPI eco-system.More information on the SOAPI eco-system.

This library is currently the effort of me, Sky Sanders (code poetcode poet) and can be reached at gmail - sky.sanders

For more information about the origins of Soapi.CS and the rest of the Soapi eco-system see What is Soapi and why should I care?What is Soapi and why should I care?

  • A fully relational model of the API data set exposed via a fully 'dot navigable' IEnumerable (LINQ) implementation. Simply tell Soapi what you want and it will get it for you.

    e.g. "On my first question, from the author of the first comment, get the first page of comments by that person on any post"

    my.Questions.First().Comments.First().Owner.Comments.ToList();

    (yes this is a real expression that returns the data as expressed!)

  • Full coverage of the API, all routes and all parameters with an intuitive syntax.

  • Strongly typed Domain Data Objects for all API data structures.

  • Eager and Lazy Loading of 'stub' objects. Eager\Lazy loading may be disabled.

  • When finer grained control of requests is desired, the core RouteMap objects may be leveraged to request data from any of the API paths using all available parameters as documented on the help pages.

  • A rich Asynchronous implementation.

  • A configurable request cache to reduce unnecessary network traffic and to simplify your usage logic. There is no need to go out of your way to be frugal. You may set a distinct cache duration for any particular route.

  • A configurable request throttle to ensure compliance with the api terms of usage and to simplify your code in that you do not have to worry about and respond to 50X errors.

    The RequestCache and Throttled Queue are thread-safe, so can make as many requests as you like from as many threads as you like as fast as you like and not worry about abusing the api or having to write reams of management/compensation code.

  • Configurable retry threshold that will, by default, make up to 3 attempts to retrieve a request before failing. Every request made by Soapi is properly formed and directed so most any http error will be the result of a timeout or other network infrastructure. A retry buffer provides a level of fault tolerance that you can rely on.

  • An almost identical javascript library, Soapi.JS, and it's full figured big brother, Soapi.JS2, that will enable you to leverage your server cycles and bandwidth for only those tasks that require it and offload things like status updates to the client's browser.

  • Soapi.FindUser - .net utility for locating a user anywhere in the stackiverse
  • Soapi.Explore - The entire API at your command
  • Soapi.LastSeen - List users by last access time
  • Add your app/site here - I know you are out there ;-) if you are not comfortable editing this post, simply add a comment and I will add it.

More information on the SOAPI eco-system.

This library is currently the effort of me, Sky Sanders (code poet) and can be reached at gmail - sky.sanders

For more information about the origins of Soapi.CS and the rest of the Soapi eco-system see What is Soapi and why should I care?

  • A fully relational model of the API data set exposed via a fully 'dot navigable' IEnumerable (LINQ) implementation. Simply tell Soapi what you want and it will get it for you.

    e.g. "On my first question, from the author of the first comment, get the first page of comments by that person on any post"

    my.Questions.First().Comments.First().Owner.Comments.ToList();

    (yes this is a real expression that returns the data as expressed!)

  • Full coverage of the API, all routes and all parameters with an intuitive syntax.

  • Strongly typed Domain Data Objects for all API data structures.

  • Eager and Lazy Loading of 'stub' objects. Eager\Lazy loading may be disabled.

  • When finer grained control of requests is desired, the core RouteMap objects may be leveraged to request data from any of the API paths using all available parameters as documented on the help pages.

  • A rich Asynchronous implementation.

  • A configurable request cache to reduce unnecessary network traffic and to simplify your usage logic. There is no need to go out of your way to be frugal. You may set a distinct cache duration for any particular route.

  • A configurable request throttle to ensure compliance with the api terms of usage and to simplify your code in that you do not have to worry about and respond to 50X errors.

    The RequestCache and Throttled Queue are thread-safe, so can make as many requests as you like from as many threads as you like as fast as you like and not worry about abusing the api or having to write reams of management/compensation code.

  • Configurable retry threshold that will, by default, make up to 3 attempts to retrieve a request before failing. Every request made by Soapi is properly formed and directed so most any http error will be the result of a timeout or other network infrastructure. A retry buffer provides a level of fault tolerance that you can rely on.

  • An almost identical javascript library, Soapi.JS, and it's full figured big brother, Soapi.JS2, that will enable you to leverage your server cycles and bandwidth for only those tasks that require it and offload things like status updates to the client's browser.

  • Soapi.FindUser - .net utility for locating a user anywhere in the stackiverse
  • Soapi.Explore - The entire API at your command
  • Soapi.LastSeen - List users by last access time
  • Add your app/site here - I know you are out there ;-) if you are not comfortable editing this post, simply add a comment and I will add it.

More information on the SOAPI eco-system.

This library is currently the effort of me, Sky Sanders (code poet) and can be reached at gmail - sky.sanders

For more information about the origins of Soapi.CS and the rest of the Soapi eco-system see What is Soapi and why should I care?

replaced http://meta.stackoverflow.com/ with https://meta.stackoverflow.com/
Source Link
Loading
edited tags
Link
Brock Adams
  • 13k
  • 5
  • 39
  • 64
Loading
Notice removed Reward existing answer by CommunityBot
Bounty Ended with no winning answer by CommunityBot
Notice added Reward existing answer by user24674
Bounty Started worth 100 reputation by CommunityBot
published binary release - no samples
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
added link to Soapi.JS2
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
updated sample code
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
indexed info throttle/cache info answer and linked Soapi.Explore
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
added 211 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
added 1383 characters in body; edited title; deleted 1 characters in body; edited title
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
deleted 10140 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
updated verbage and removed the 'coming soon' as it has come
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
added 115 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
added a heads up for some improvements I am finishing up right now.
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
deleted 229 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
added 34 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading