In my latest project I am using the great Collection+Json ASP.NET Web API library that Glenn Block put up on GitHub a while ago. After using it for a while I decided to refactor my code and use something other than an int for my type identifiers. When I changed to use the generic type, I discovered an issue with the code that had added the generic identifier capability to the library. The Create method was still retuning an int instead of the generic TId.
So I wrote up the issue on GitHub and Glenn Block immediately responded asking if I was going to submit a Pull Request. I am still relatively new to git and am still trying to grok it. But since I had already forked the repository and updated the code, I figured this would be as good time as any to figure how to submit a pull request.
Even though it was a one line change to the return type of the Create method, I realized that there were no unit tests for the CollectionJsonController class taking a generic identifier value. So I decided I should fix that as well and created a XUnit test for this scenario by cloning the existing tests with just a Controller that used a string for the identifier. Once I had the tests and the code working, I went about figure out how to submit my first pull request.
I found an excellent resource that made the process relativity straight forward and painless. https://www.openshift.com/wiki/github-workflow-for-submitting-pull-requests
You can find my first pull request (modest as it may be) at
The ASP.NET and Web Tools 2012.2 update was released today. There were many updates including some big additions like OData support and SignalR. Some of the things that jump out at me form the release notes.
“Paste JSON as a .NET class. Using this Special Paste command to paste JSON into a C# or VB.NET code file, and Visual Studio will automatically generate .NET classes inferred from the JSON.”
“Mobile Emulator support adds extensibility hooks so that third-party emulators can be installed as a VSIX. The installed emulators will show up in the F5 dropdown, so that developers can preview their websites on a variety of mobile devices. Read more about this feature in Scott Hanselman’s blog entry on the new BrowserStack integration with Visual Studio.”
“ASP.NET Web API OData
ASP.NET Web API OData gives you the flexibility you need to build OData endpoints with rich business logic over any data source”
ASP.NET SignalR makes it simple to add real-time web capabilities to your ASP.NET application, using WebSockets if available and automatically falling back to other techniques when it isn’t.”
Related Blog Posts
ASP.NET and Web Tools 2012.2 Release Notes
ScottGu – Announcing release of ASP.NET and Web Tools 2012.2 Update
Scott Hanselman – Released: ASP.NET and Web Tools 2012.2 in Context
Jon Galloway – Announcing the ASP.NET and Web Tools 2012.2 Release!
Web Tools 2012.2 and Web Essentials
The new MVC 4 beta was released last Thursday / Friday. One of the big changes is the moving of the WCF Web API into the ASP.NET MVC code stream.
Get the bits and the initial documentation on the ASP.NET Web API page at http://www.asp.net/web-api
The team has provided some initial guidance on migrating from the WCF Web API to ASP.NET Web API on the WCF CodePlex site.
ScottGu has an overview on his blog along with a video of a presentation that he gave at the Belgium and Dutch TechReady events.
Jon Galloway interviewed Brad Wilson about the ASP.NET MVC 4 release. Brad Wilson on ASP.NET 4 Beta and ASP.NET Web API
Henrik Nielsen the Principal Architect on the WCF Team has a post on the new HttpClient for ASP.NET Web API that has been back ported from .NET 4.5.
I plan on migrating my current project using the WCF Web API and ASP.NET MVC 3 to the new ASP.NET Web API and ASP.NET MVC 4 API this week. After spending a lot of time last week getting Ninject work work with the WCF Web API, it looks like the ASP.NET Web API makes it trivial. But it was still a good learning experience right?
I am also contemplating moving to the new .NET 4.5 beta when it is released. It looks like the asynchronous support on C# 5 will be very useful with the new ASP.NET Web API.