ASP.NET Web API Samples on Codeplex
Here’s how to get up and running with the ASP.NET Web API and HttpClient samples that you can find in our samples repository on aspnet.codeplex.com. For a list of the samples please see List of ASP.NET Web API and HttpClient Samples as well as our list of samples on www.asp.net.
Prerequisites
The samples are split into two parts: those that target .Net 4 and those that target .Net 4.5. The latter use the async/await keywords introduced in Visual Studio 2012 which makes programming with asynchronous tasks much simpler.
Many of the samples use self host for starting ASP.NET Web API (that is, they run outside ASP.NET). These samples all use the local TCP port 50231 to listen for HTTP traffic. In order to start listening on that port you have to register an HTTP namespace with http.sys (or alternatively run Visual Studio as Administrator). You register the namespace from an elevated command prompt like this:
- netsh http add urlacl https://+:50231/ user=%USERDOMAIN%\%USERNAME%
For details, see how to register an http namespace with http.sys.
Getting the Samples
You can either clone the samples repository using the command (see Using Git with CodePlex for details):
- git clone https://git01.codeplex.com/aspnet
or download the samples by selecting the Download link:
The former (i.e. using git) is best if you want to stay up to date with respect to the samples.
Running the Samples
The samples can all be run by hitting F5 in Visual Studio but some may need additional information such as an application key. The first time you run a sample, it will download the various NuGet packages and ask you to confirm their installation for that project.
Note: When downloading the NuGet packages you may see a compilation warning saying something like this:
Package restore is disabled by default. To give consent, open the Visual Studio Options dialog, click on Package Manager node and check 'Allow NuGet to download missing packages during build.' You can also give consent by setting the environment variable 'EnableNuGetPackageRestore' to 'true'.
In that case do as the message says and check Allow NuGet to download missing packages during build under Package Manager in Options.
Comments and Suggestions
Please file issues on the samples as well as ideas for other samples. Let us know what you think; what you would like to see, and how this can be a useful collection of samples.
Have fun!
Henrik
Comments
Anonymous
July 24, 2012
Thanks for another informative site. Where else could I get that type of information written in such an ideal way like this post.This post is really goregious. http://janinepatterson.com/Anonymous
July 25, 2012
Hi Henrik, Can you please upload samples about how to authenticate using various kinds of authentication (OAuth, FormsAuth, OpenId, WIndows Integration, etc) in ASP.NET Web API? It would really be very helpful. ThanksAnonymous
July 26, 2012
Mel, yes, authentication samples is a great idea -- will see what we can do.Anonymous
July 26, 2012
Hi Henrik, Can you please show an example how to post a collection ie. List<Object> to web api POST using httpclientAnonymous
July 27, 2012
Neon, If you look at the JsonUploadSample then it does something very similar -- just using a single Contact object. If you just change Contact to List<Contact> and upload a list instead then it will work. Is that what you are looking for? HenrikAnonymous
July 28, 2012
Grreat job. The samples I have gone through so have given me a good insight into how httpClient works. Auth Sample will be great especially using httpClient. (There are already many Javacsript samples for WinLive, Google, Facebook)Anonymous
July 28, 2012
the link or "download the samples by selecting the Download link:", just above the picture is incorrect. It is going to aspnetwebstack instead of aspnet.Anonymous
July 29, 2012
Matthew, Thanks for pointing out the broken link -- fixed! HenrikAnonymous
July 29, 2012
SammyD -- auth samples are indeed on the list -- I am going to the IETF meeting in Vancouver next week so it may take some more days. HenrikAnonymous
July 30, 2012
Henrik: I'll be happy to Test them for you, if you want. I already have accounts setup for WinLive, facebook, gmail and twitterAnonymous
July 31, 2012
Please provide a how-to-sample for a complex object like a customer order (which requires insert/update to multiple tables). This would be highly appreciated. ThanksAnonymous
August 08, 2012
It would be interesting to see samples of self-hosting the Web API in a Windows service application and also self-hosting using HTTPS and certificates. This would be very helpful. Thanks for the samples!Anonymous
August 12, 2012
hi when i try to buid the solution it gives me the following error http://i.imgur.com/24xME.pngAnonymous
August 13, 2012
Henrik, testing fw 4 WorldBankSample and I get this exception thrown from contentTask: Type 'Newtonsoft.Json.Linq.JToken' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. If the type is a collection, consider marking it with the CollectionDataContractAttribute. See the Microsoft .NET Framework documentation for other supported types.Anonymous
August 15, 2012
mgmoody, I suspect you may have old bits. If you try the RTM version then there should be no problems.Anonymous
December 13, 2012
Thank youAnonymous
April 03, 2014
Good day! When start one of the "Web API" samples the start page has error: "This operation requires IIS integrated pipeline mode." Does anyone knows what might be the reason. I just download the source code and restore the nuget packages. Thanks, StefanAnonymous
April 12, 2014
The comment has been removed