Articles : Page 1 of 9

  • ASP.NET MVC Now Accepting Pull Requests

    ASP.NET MVC Now Accepting Pull Requests

    Mar 12
    29

    Changing a big organizations is a slow endeavor. But when people are passionate and persistent, change does happen. Three years ago, the ASP.NET MVC source code was released under an open source license. But at the time, the team could not accept any code contributions. In my blog post talking about that release, I said the following (emphasis added): Personally (and this is totally my own opinion), I’d like to reach the point where we could accept patches. There are many hurdles in the w...


  • ASP.NET MVC, Web API, Razor and Open Source

    ASP.NET MVC, Web API, Razor and Open Source

    Mar 12
    28

    Microsoft has made the source code of ASP.NET MVC available under an open source license since the first V1 release. We’ve also integrated a number of great open source technologies into the product, and now ship jQuery, jQuery UI, jQuery Mobile, jQuery Validation, Modernizr.js, NuGet, Knockout.js and JSON.NET as part of it. I’m very excited to announce today that we will also release the source code for ASP.NET Web API and ASP.NET Web Pages (aka Razor) under an open source license (Apache 2...


  • Dynamic JSON Parsing in .NET with JsonValue

    Dynamic JSON Parsing in .NET with JsonValue

    Mar 12
    19

    So System.Json has been around for a while in Silverlight, but it's relatively new for the desktop .NET framework and now moving into the lime-light with the pending release of ASP.NET Web API which is bringing a ton of attention to server side JSON usage. The JsonValue, JsonObject and JsonArray objects are going to be pretty useful for Web API applications as they allow you dynamically create and parse JSON values without explicit .NET types to serialize from or into. But even more so I think...


  • Rebuilding CoasterBuzz, Part II: Hot data objects

    Rebuilding CoasterBuzz, Part II: Hot data objects

    Mar 12
    19

    This is the second post, originally from my personal blog, in a series about rebuilding one of my Web sites, which has been around for 12 years. More: Part I: Evolution, and death to WCF After the rush to get moving on stuff, I temporarily lost interest. I went almost two weeks without touching the project, in part because the next thing on my backlog was doing up a bunch of administrative pages. So boring. Unfortunately, because most of the site's content is user-generated, you need some...


  • It’s The Little Things about ASP.NET MVC 4

    It’s The Little Things about ASP.NET MVC 4

    Mar 12
    11

    Conway’s Law states, ...organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. Up until recently, there was probably no better demonstration of this law than the fact that Microsoft had two ways of shipping angle brackets (and curly braces for that matter) over HTTP – ASP.NET MVC and WCF Web API. The reorganization of these two teams under Scott Guthrie (aka “The GU” which I’m contractually boun...


  • POP Forums v9.2 posted to CodePlex, with new languages, post voting and the scoring game

    POP Forums v9.2 posted to CodePlex, with new languages, post voting and the scoring game

    Jan 12
    24

    POP Forums v9.2.0 is the third release for the ASP.NET MVC3 version of POP Forums. It is feature complete, stable, and ready for feedback. For previous release notes, see previous releases. Check out the live preview: http://popforums.com/Forums Setup instructions are available in the documentation section. Upgrading? If you're upgrading from v9.0 or v9.1, simply replace the existing files. You'll also have to run the PopForums4.xto4.2.sql SQL script against your existing database. That ...


  • OSS and .NET Year In Review 2011

    OSS and .NET Year In Review 2011

    Dec 11
    26

    T’is the season for “Year in Review” and “Best of” blog posts. It’s a vain practice, to be sure. This is exactly why I’ve done it almost every year! After all, isn’t all blogging pure vanity? Sadly, I did miss a few years when my vanity could not overcome my laziness. This year I am changing it up a bit to look at the intersection of open source software and the .NET community in 2011. I think it’s been a banner year for OSS and .NET/Microsoft, and I think it’s only going to get better in 20...


  • ASP.NET MVC + Selenium + IISExpress

    ASP.NET MVC + Selenium + IISExpress

    Dec 11
    22

    The goal of this blog entry is to explain how you can create integration tests for ASP.NET MVC applications by using a combination of Selenium WebDriver and IISExpress. Integration tests are useful when you want to test an entire user story. For example, you might want to test whether a user can successfully add an item to a shopping cart. Adding an item to a shopping cart might require the execution of C# code, database code, and JavaScript code. Using an integration test, you can verify t...


  • Using QUnit with Razor Layouts

    Using QUnit with Razor Layouts

    Dec 11
    11

    Given how central JavaScript is to many modern web applications,  it is important to use unit tests to drive the design and quality of that JavaScript. But I’ve noticed that there are a lot of developers that don’t know where to start. There are many test frameworks out there, but the one I love is QUnit, the jQuery unit test framework. Most of my experience with QUnit is writing tests for a client script library such as a jQuery plugin. Here’s an example of one QUnit test file I wrote a ...


  • Using SignalR to broadcast a slide deck

    Using SignalR to broadcast a slide deck

    Dec 11
    06

    Last week, Ive discussed Techniques for real-time client-server communication on the web (SignalR to the rescue). Weve seen that when building web applications, you often face the fact that HTTP, the foundation of the web, is a request/response protocol. A client issues a request, a server handles this request and sends back a response. All the time, with no relation between the first request and subsequent requests. Also, since its request-based, there is no way to send messages from the serv...