Showing posts with label MVC. Show all posts
Showing posts with label MVC. Show all posts

Tuesday, February 24, 2015

"Top 10 Changes in ASP.NET 5 and MVC 6" [The post that has the WebForm/VB'ers in an uproar...]

Stephen Walther - Top 10 Changes in ASP.NET 5 and MVC 6

I spent the last couple of weeks writing sample code for ASP.NET 5/MVC 6 and I was surprised by the depth of the changes in the current beta release of ASP.NET 5. ASP.NET 5 is the most significant new release of ASP.NET in the history of the ASP.NET framework — it has been rewritten from the ground up.

In this blog post, I list what I consider to be the top 10 most significant changes in ASP.NET 5. This is a highly opinionated list. If other changes strike you as more significant, please describe the change in a comment.

1. ASP.NET on OSX and Linux

2. No More Web Forms [GD: Click through and read the comment & comment]

3. No More Visual Basic [GD: Lots of comments about this. Click through for support links, comment & comment)

4. Tag Helpers

5. View Components

6. GruntJS, NPM, and Bower Support

7. Unified MVC and Web API Controllers

8. AngularJS

9. ASP.NET Dependency Injection Framework



WebForms is not going away, not any more than WPF is. It IS going to live in the 4.6 line though.

What about Web Forms?

You can continue developing Web Forms apps and have confidence that Web Forms is an essential part of the .NET web development platform. We remain focused on adding new features to Web Forms to improve the development experience and keep the technology up-to-date with web practices.

Web Forms 4.6 includes the following new features for Web Forms:

  • HTTP 2
  • Async model binding
  • Roslyn CodeDOM compilers

Your existing Web Forms apps will continue to run without modification on IIS with .NET 4.6. You can’t use Web Forms apps with the cloud-optimized runtime.

For a video about the new features in Web Forms 4.6, see Web Forms 4.6. For information about the many recent changes for Web Forms in Visual Studio 2013 Update 2, see Improvements to ASP.NET Web Forms.

VB? Again VB "IS NOT DEAD" but for ASP.NET v5 it won't be in the RTM.

Visual Basic Support? #236

paullyvenne commented on Dec 14 2014

I was interested in trying out vNext with VB.NET? It seems to be promoted on most of the news but I don't see anything but C#. What's the latest news?

matthewhancock commented on Dec 15 2014

Yeah, it's a little frustrating re-installing the latest versions of Visual Studio 2015 hoping VB will have vNext templates with no luck.

coolcsh commented on Dec 15 2014

ASP.NET 5 is C# only at this point and that will not change before we RTM. We plan to have extensibility points so other languages like VB, F#, etc can be added via the form of a support package or such.

Guys look, ASP.NET v5 is a complete, from the ground-up rewrite. It's a v1, but built by those that have decades of experience and have learned the many hard lessons that entails ad built for today's web, not the web of the late 99's...

Don't take it from me, check out today's Scott Gu post;

Introducing ASP.NET 5

The first preview release of ASP.NET 1.0 came out almost 15 years ago.  Since then millions of developers have used it to build and run great web applications, and over the years we have added and evolved many, many capabilities to it. 

I'm excited today to post about a new release of ASP.NET that we are working on that we are calling ASP.NET 5.  This new release is one of the most significant architectural updates we've done to ASP.NET.  As part of this release we are making ASP.NET leaner, more modular, cross-platform, and cloud optimized.  The ASP.NET 5 preview is now available as a preview release, and you can start using it today by downloading the latest CTP of Visual Studio 2015 which we just made available.

ASP.NET 5 is an open source web framework for building modern web applications that can be developed and run on Windows, Linux and the Mac. It includes the MVC 6 framework, which now combines the features of MVC and Web API into a single web programming framework.  ASP.NET 5 will also be the basis for SignalR 3 - enabling you to add real time functionality to cloud connected applications. ASP.NET 5 is built on the .NET Core runtime, but it can also be run on the full .NET Framework for maximum compatibility.

With ASP.NET 5 we are making a number of architectural changes that makes the core web framework much leaner (it no longer requires System.Web.dll) and more modular (almost all features are now implemented as NuGet modules - allowing you to optimize your app to have just what you need).  With ASP.NET 5 you gain the following foundational improvements:

  • Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
  • Built on .NET Core, which supports true side-by-side app versioning
  • New tooling that simplifies modern Web development
  • Single aligned web stack for Web UI and Web APIs
  • Cloud-ready environment-based configuration
  • Integrated support for creating and using NuGet packages
  • Built-in support for dependency injection
  • Ability to host on IIS or self-host in your own process

The end result is an ASP.NET that you'll feel very familiar with, and which is also now even more tuned for modern web development.

Tuesday, June 03, 2014

My ASP.NET MVC, how you've rev'd...

Shemeer's World of Programming - ASP.NET MVC Release History, Supported Visual Studio versions and .NET Framework

ASP.NET MVC is a web application development framework built on top of Microsoft’s .NET Framework. ASP.NET MVC framework is a lightweight, highly testable presentation framework that is integrated with existing ASP.NET features.



You do you remember when Scott Gu wrote MVC a the plane (or so the story went)? Now look at it... Not sure if it's me, but the cadence still seems to be picking up...! Guess it's hear to stay... lol

Monday, April 07, 2014

Visual Studio 2013 Update 2 lets you build your own Scaffolder

.NET Web Development and Tools Blog - Creating a Custom Scaffolder for Visual Studio

With the release of Visual Studio 2013 last October, we introduced the concept of Scaffolding to Web Application projects. Scaffolding is the framework on which code generation for MVC and WebAPI is built. For more information on Scaffolding or the MVC Scaffolders check the following blog post:

However, the true potential for the scaffolding framework comes from the new extensibility surface released in Update 2. With this new functionality, any VSIX can code against the Scaffolding API surface and have their scaffolds added to the Add New Scaffold Dialog. This blog post will walk through the creation of a custom scaffolder.

To get started make sure you have the following installed on your machine:

Creating a New Scaffolder Project Using Sidewaffle

  1. Go to create a new project.
  2. Click on the C#->Extensibility->Sidewaffle Node.
  3. Select new “Basic Scaffolder”.
  4. Input the desired name of your Scaffolder.
  5. Create the Project.



Next Steps

Now that you have the basics of creating a scaffolder down, here are some additional resources for what to do next:

Additionally you can look to create more complex scaffolders using the following services:

  • ICategoryRegistrationService – to add new Categories in the Add Scaffold Dialog

  • IServiceRegistrar – to add new ActionServices that you can invoke during scaffolding

  • IRollbackService – to make the services registered above be able to use the Scaffolding rollback feature

  • The Scaffolding.EntityFramework dll – to help with the processing of EF models (this is used by the MVC and WebAPI Entity Framework Scaffolders to create the controllers and for MVC the views)

ASP.NET Scaffolding in Visual Studio 2013


ASP.NET Scaffolding is a code generation framework for ASP.NET Web applications. Visual Studio 2013 includes pre-installed code generators for MVC and Web API projects. You add scaffolding to your project when you want to quickly add code that interacts with data models. Using scaffolding can reduce the amount of time to develop standard data operations in your project.



To customize the generated files, see How to customize the generated files from the New Scaffolded Item dialog.

For an example of using scaffolding with Database First development, see EF Database First with ASP.NET MVC.

For an example of using scaffolding in an MVC project, see Getting Started with ASP.NET MVC 5.

For an example of using scaffolding in a Web API project, see Create a REST API with Attribute Routing in Web API 2.

This was pretty lost in the Build news stream, but I think this is going to spawn some very interesting Extensions in the near future.

Tuesday, July 02, 2013

"25 Secrets for Faster ASP.NET" Free [ Name and Email Ware] eBook from Red Gate

Michaela Murray - 25 Secrets for Faster ASP.NET: the Eagle has landed!

On Friday we launched our new free eBook, 25 Secrets for Faster ASP.NET Applications!

Heading for 1000 of you have picked it up already, but if you haven’t got your copy yet, you can grab it from

It’s the follow up to the wildly successful 50 Ways to Avoid, Find and Fix ASP.NET Performance Issues, which we released back in January this year (you can download from

Once again, we collected tips from some of the smartest brains in the ASP.NET community, but this time around, we’ve covered the latest stuff in the .NET framework – async/await, Web API, and more.


Red Gate - Free eBook: 25 Secrets for Faster ASP.NET Applications

  • 25 tips from the ASP.NET community for boosting performance in your web applications.
  • Learn the secrets of your fellow developers and read advice from MVPs and other experts.
  • Covers async/await, Web API, ORMs, interactions between your code and your database, and more...

Here's some snaps from the PDF; (BTW, I love that cover, very "Modern" ;)




Nice tips and the price is just right...

Thursday, March 07, 2013

Ignite your web dev with the Infragistics Ignite UI learning series by Craig Shoemaker

Infragistics - Get Started Learning Ignite UI Today!

Anytime you approach a new library or set of controls sometimes it’s nice to get a helping hand. In an effort to make it drop-dead simple for you to learn how to get started with Ignite UI, I am announcing the release of Fundamentals of Ignite UI.


This video series will acquaint you with Ignite UI from some of the high level architectural constructs down to the details a control’s API. The first batch of videos in the series includes 15 videos which introduce Ignite UI as a whole and then moves into working with the particulars of the igGrid control.

Ignite UI Introduction

igGrid Introduction

igGrid Interactive Features


I swear Craig must have been reading my mind (which is a scary thought... for him... ;) Just last Friday I was looking at their Ignite UI line and trying to wrap my head around it. How did he know I needed something just like this? Weird.... :P

Wednesday, August 08, 2012

Prepping for IE10 with the Internet Explorer 10 Training Kit for Developers

Microsoft Downloads  - Internet Explorer 10 Training Kit

Version: 1.0.0
Date published: 8/8/2012

Language: English

IE10TK2012-07-, 43.3 MB

This training kit covers development specifics for developers who will be targeting Internet Explorer 10 in their development experience. This kit contains documentation and details on things pertinent to developing applications that target features of the Internet Explorer 10 browser.

Six Hands on Labs for getting started taking advantage of new features in IE10

  • New HTML5 Features
  • Compatibility, Developer Tools and Performance
  • DOM Features and ECMAScript5
  • New CSS3 Features
  • Using IndexedDB
  • Vector Graphics (Canvas & SVG)

Here's some install and post install snaps.






Related Past Post XRef:
IE for the XBox 360, a Dev's Guide (13 pages)

Thursday, May 10, 2012

Web Camps Training Kit Updated

Microsoft Downloads - Web Camps Training Kit

Date published: 5/9/2012

Language: English

WebCampsTrainingKit.exe, 2.4 MB

Execute the EXE, then select the content items you wish to download. There are presentations in PowerPoint 2010 format and hands-on-labs in HTML format. All assets for the hands-on-labs are included (images, stylesheets, etc).


While you learn allot when you create your own presentations and samples, sometimes re-use is also the way to go [insert 'I hate re-inventing the wheel' statement here]


Here's a few quick snaps of the post install;



One thing to note: I wish the kit files were optimized and maybe used a shared resource model. See all those blue squares? They are all copies of the same SQL Server database, MvcMusicStore.mdf. I understand that each related course needs that, and that users can pick and choose which one to download and that keeping them together with the materials helps in unitization, but it still bugs me that 144MB is being used where 4MB could be... [Bitch, moan, groan...]

Also note there's a dependency on VS 11 Beta (which makes sense due to the '4.5' related lab's);



Related Past Post XRef:
“Web Camps Training Kit” Don’t re-invent, re-use…

Thursday, February 16, 2012

Wondering when the ASP.NET MVC 4 and/or Web API Beta is going to drop? Wonder no more, today is the day!

Jon Galloway - ASP.NET MVC 4 Beta Released!

"Last September at //BUILD/ we announced ASP.NET MVC 4 Developer Preview. Today we're releasing the next release on the road to ASP.NET MVC 4, ASP.NET MVC 4 Beta. This release includes some great new features since the ASP.NET MVC 4 Developer Preview, including the introduction of ASP.NET Web API.

You can get all the info on ASP.NET MVC 4 at

Here's an overview of what's new, and a quick reminder of some of the top features in ASP.NET MVC 4 in general.


The big new feature since the Developer Preview is the introduction of ASP.NET Web API.

ASP.NET Web API started out as WCF Web API. I've personally been a big fan of Web API - you may have seen my earlier post, WCF MediaTypeProcessor + Speech API = SpeechProcessor fun. I'm excited to see these merge together, as this brings a lot of power to Web API, unites programming models and removes the burden of having to choose between the two.

Why use ASP.NET Web API?

ASP.NET MVC was designed primarily for interacting with humans via web pages. The main use case is emitting HTML and responding to user input (submitting forms, clicking links, etc.). It does a great job at that.

  • Full Support For Routes
  • Model Binding
  • Filters
  • Content Negotiation
  • ASP.NET Web API Content
  • Bundling by default
  • Razor Enhancements
    • URL Resolution - Support for ~/ syntax
    • Conditional attribute rendering
  • NuGet Based Project Installation

Software Requirements and Installation

The ASP.NET MVC 4 components for Visual Studio require PowerShell 2.0 and either Visual Studio 2010 with Service Pack 1 or Visual Web Developer Express 2010 with Service Pack 1. The ASP.NET MVC 4 Beta doesn't work with the Developer Previews of Visual Studio 11 or .NET 4.5. Stand by for those.

ASP.NET MVC 4 Beta runs side by side with previous versions of ASP.NET MVC. It's a pretty lightweight install - I've installed and uninstalled it lots of times without any impact on my other ASP.NET projects or Visual Studio in general.

You can install ASP.NET MVC 4 via Web PI or using the standalone installer executable - both are available at

In the EULA (found at %ProgramFiles(x86)%\Microsoft ASP.NET\ASP.NET MVC 4\eula.rtf after install), you'll see that section 1a includes a Go Live license providing you meet the terms listed. I am not a lawyer, I am not a dentist, read the EULA, etc., but it does include this text: "If you comply with the rest of these license terms, you may also distribute to third parties or deploy for third parties to access over the Internet the ASP.NET programs that you develop using the software, provided that..."

Carlos' blog - Introducing ASP.NET MVC 4 Beta with Web APIs

There has historically been in Microsoft many ways of doing the same thing. That’s one of the original goals of WCF when it was created: unify the 5 or so different ways of creating distributed applications using the Microsoft stack (ASMX services, COM+, .NET Remoting, MSMQ and one more which I don’t remember). Whether it succeeded in making this unification is another story, but for a while the “official answer” for building distributed applications was WCF. XML was supposed to solve all the problems in the world, and WCF was a decent framework built on top of XML to build service-oriented solutions (i.e., SOAP) in a very pluggable way.

Fast forward a few years, XML didn’t bring world peace as it promised, and non-SOAP architectures started having a higher and higher predominance in the world, especially those revolving around HTTP and REST. Starting on the .NET Framework version 3.5, WCF started paying some attention to the HTTP/REST space with the introduction of the WebHttpBinding and WebHttpBehavior classes, the System.ServiceModel.Web namespace and the whole Web programming model. On the version 4.0, a lot more features were added to the framework, which collectively were called WCF Web HTTP Services. Starting at the end of 2010, the WCF Codeplex project started previewing new features which would eventually be made into the framework, which evolved into the WCF Web API project and the new HTTP programming model.

Backtracking a little, Microsoft also had another way of building “services” for web clients, namely services which accepted a variety of parameters and returned JSON (natively consumed by JavaScript apps), which was the JsonResult class in the ASP.NET MVC framework. In fact, quite a few people have approached me and other people in Microsoft with a variant of the same question: if I’m building web services to be consumed by JavaScript clients, which one should I use, MVC controllers, WCF Web APIs or “plain old WCF”? That was a valid question, and internally we decided to merge the technologies so that we could get the best of both worlds. As was announced today, the ASP.NET Web APIs are available for download along with the ASP.NET MVC 4 Beta release.

What exactly does it mean? First, notice that there’s no WCF in the “official” name – if you’re building Web APIs hosted on IIS, WCF isn’t used at all. But, unlike “classic” ASP.NET MVC applications, Web APIs can also be hosted outside of IIS (or self-hosted), in which case WCF is used as the underlying transport channel. So if you’re used to WCF (or the “old” WCF Web APIs), you may need to learn some new terminology. Some changes are simple, some are a little deeper.

  • Goodbye Services and Operations, Hello Controllers and Actions
  • Model binding
  • More features

There are a lot of new features in the new APIs, some of them I’ll briefly mention here (and will possibly cover them in future posts)

  • First-class HTTP support: don’t want to use CLR types? No problem. Your actions can work directly on HttpRequestMessage and HttpResponseMessage objects.
  • Content-negotiation: out-of-the-box support for negotiation of response content, using formatters (similar to the last preview bits of the WCF Web API)
  • HttpClient: a modern HTTP client for .NET. Henrik Nielsen (an architect in our team) has posted some examples of this library
  • Service resolver: a centralized place to do things such as dependency injection
  • System.Json: first-class support for treating JSON in an untyped way, without needing to serialize / deserialize between that format and CLR types
  • Improved testability: as a side-effect of the HttpClient library and the service resolver; it’s possible to “host” a controller and send requests to it directly, without going through the network at all
  • Query composition: support for actions returning IQueryable<T> and sending filter / take / skip / order parameters in the query string which affect how the response is returned
  • Filters: something similar to inspectors in WCF, where you can hook up user code in various parts of a request dispatching
  • Message handlers: I’d say that they’re similar to channels in WCF where you can get messages passing through the system, but that’s a disservice to the handlers. Channels in WCF are almost impossible to write, while message handlers are actually quite easy (once you get acquainted to the new Task asynchronous programming model)


The Web API looks interesting. As is it's move away, in a sense, from WCF...

Thursday, November 24, 2011

Free eBook - "Razor View Engine in MVC 3"

Itorian - Razor View Engine in MVC 3

"In this e-book you will learn all about Razor View Engine introduced in MVC 3. I will walk through the simple steps and even I will keep my ideas simple so that you can understand the Razor View Engine better. My aim through this e-book is to teach Razor so I am going to play a little loose with rest all.


I nice little Razor PDF for the long weekend... :)

(via debug mode…… - Free EBook on Razor View Engine in MVC 3 by Abhimanyu Kumar Vatsa)

Monday, November 21, 2011

KsigDo = Knockout + SignalR To-do Demo App (with real-time multi-user sync and MVC, MVVM, ASP.Net and EF thrown in for flavor)

amazedsaint's #tech journal - KsigDo Task Pad – Real-Time UI View Model syncing across users with ASP.NET, SignalR, Knockout MVVM and EF


KsigDo = Knockout + SignalR To-do app. Source code is here in Codeplex, keep it handy.

Real time data syncing across user views *was* hard, especially in web applications. Most of the time, the second user needs to refresh the screen, to see the changes made by first user, or we need to implement some long polling that fetches the data and does the update manually.

Now, with SignalR and Knockout, ASP.NET developers can take advantage of view model syncing across users, that’ll simplify these scenarios in a big way, with minimal code. This post discusses how to implement a real time to-do pad, which will sync data across users accessing the application. This means, users can make changes to their tasks (add/remove/update etc), and other users will see the changes instantly. The focus is on the technique, I’m not trying to build a fabulous user experience here.

I know we are tired with To-do examples, but now let us build a To-do application that can sync tasks between you and your wife (or your team mates) in real time, with full CRUD support, and persistence. And yes, we’ll keep the code minimal, and maintainable using a proper View Model (Oh, is that possible in JavaScript?).

So, see this video, and here you can see the changes you apply to the tasks in one screen (adding, deleting, updating etc) you can see that the data is getting synced across multiple users.


Surprise, we are done. Very minimal code, very little effort, Great results. Thank you ASP.NET, SignalR, Entity Framework and Knockout. And that is why I love .NET Smile. Happy Coding, but follow me in twitter @amazedsaint and subscribe to this blog.



If you've not seen this blogged about a bunch already, then I'm sure you will. It's a pretty awesome and cool demo...

Monday, November 07, 2011

CODE.Framework - MVC/MVVM Framework from EPS/CODE/Markus Egger

CODE Framework (CodePlex), CODE Framework (Visual Studio Gallery) (Markus Egger)

"Development framework from the makers of CODE Magazine, Markus Egger, and EPS Software Corp.

CODE Framework consists of various components and tools that help developers with common aspects of business application development, such as simplified SOA development with various clients, or WPF development, data access, and much more. The main focus of this framework is to enable productive, flexible, and highly maintainable business application development.

Note: Most of the CODE Framework originates in our much larger (and not free or open source) Milos Solution Platform product. This means that while the latest build is currently flagged as "beta", it actually contains mostly very mature and time-tested code that has been migrated from the Milos product. We are still in this migration process. Expect new builds with more and more components on an ongoing basis.

Documentation and articles will also be forthcoming over the next months and weeks and will be published in CODE Magazine (in print and online) and be linked to from here. We are also working on some videos and some tools and project/item templates which will make it much easier to use this framework. Please check back in a few days. We are hoping to release some of these very shortly.


There's no articles, details, examples, etc yet (as noted above), but this framework, from a long time "Friend of .Net," looks pretty cool. CODE Magazine is one of my favorite magazines and one of few I still pony up the funds for every year (well, actually I re-up for 3 years at a time, but you know what I mean ;)


The TestBench project (as well as the rest of the Solution) does compile and run and it shows off some very early Metro UI work...



(Remember this is a Dev PoC/Test harness/play with this a little and see if it works" little app... So don't jump up and down if it's now complete yet. That's where YOU come in!  :)

Anyway, keep your eyes open from more that I'm sure will come on/from/about this.

Friday, June 24, 2011

A quick guide to SpecFlow, WatiN in a ASP.Net MVC world by Steven Smith

Steven Smith - Everything You Need to Get Started with SpecFlow and WatiN

I’m adding SpecFlow to an application I’m working on so that I can add some acceptance tests that actually exercise the user interface. I’ve only spent a couple of hours on it thus far, but I have it working with a single specification running through the tests via WatiN. I found the following resources helpful as I was going through this exercise:

  • ...

I’m assuming that you’re just interested in getting up to speed with SpecFlow for acceptance testing and that you don’t want to waste any time on hidden gotchas or visiting all of the above URLs just to figure out what you actually need. Let me just give you the Stuff You Need To Know™.

Installing SpecFlow



Testing ASP.NET MVC with WATIN


Automation and Reporting



There’s not a whole lot to getting SpecFlow and WatiN working with your ASP.NET (MVC) application. There are a few hidden gotchas that I’ve tried to cover in this post. Hopefully this will provide all of the resources you need. If there’s something missing, please let me know and I will provide an update to address the issue. The nice thing about the final HTML report you get is that you can sit down with the customer or project stakeholder and create all of the major features and many of the known scenarios prior to an iteration or release cycle, and then provide regular updates showing progress being made on a feature-by-feature (and scenario-by-scenario) level. Assuming the documented executable specifications accurately reflect the customer’s needs, these acceptance tests provide a common definition of what “done” is for the project, reducing the frequency of the team delivering incomplete or incorrect features."

I've heard a bit about SpecFlow and like the idea behind it. I don't think I've seen a good soup-to-nuts getting started guide like this before...

Tuesday, April 05, 2011

Stepping up your NuGet Server - Adding a human friendly package view and upload

CodeCapers - Building a Nuget Server with gold plating

“Last week, Phil Haack wrote a post on how to build a NuGet Server. A NuGet server is really easy to build because 90% of the work is done by running a NuGet command. Just for fun, I decided to add some extra functionality to my NuGet Server such as a package upload form and a formatted list of packages.

In preparing my NuGet server, I followed Phil’s direction to a tee except for the fact that I used a “empty MVC 3 app with Razor support” instead of using a “ASP.NET Empty Web Application”. Out of the box, you will get a barebones, but fully functional NuGet server that provides the package list in Atom Format. For each package in the repository you will get access to properties such as the version number, license information, tags and etcetera. However, since I am not a fan of reading XML I thought it would be useful to transform that XML into HTML using XSLT. This way I can see the list of available packages without opening up Visual Studio. XSLT is one of those technologies that I have always read about but never used. So in the spirit of learning I decided to give it a try.


It’s amazing how NuGet has invigorated the .Net development community. Feels like the Visual Studio Extension capability got the fire going and nuget poured gas on it…

(via DZone . Net Zone - Building a Nuget Server with gold plating)


Related Past Post XRef:
Simple sharing for your NuGet's, with help from a NuGet of course!
Want your own “Gallery” (think something like the Visual Studio Gallery and future NuGet home) site and server? Check out the Orchard Gallery/Gallery Server Projects…

Thursday, March 31, 2011

Simple sharing for your NuGet's, with help from a NuGet of course!

You've been Haacked - Hosting a Simple “Read-Only” NuGet Package Feed on the Web

"As you may know, NuGet supports aggregating packages from multiple package sources. You can simply point NuGet at a folder containing packages or at a NuGet OData service.

A while back I wrote up a guide to hosting your own NuGet feed. Well, we’ve made it way easier to set one up now! And, surprise surprise, it involves NuGet. Smile I’ll provide step by step instructions here. But first, make sure you’re running NuGet 1.2!





The meta nature of this simple appeals to me... Also for very quick and simple in-house NuGet package sharing, or probably even better for limited scope external sharing, this seems easier than setting up an Orchard Gallery server (remember that for in-house sharing you can you can share packages via file shares/UNC's too).

This seems like a good fit if you're looking for a quick and dirty web based approach to share your packages, those packages are fixed (i.e. don't change often) and you don't want to play the Gallery game...


Related Past Post XRef:
Want your own “Gallery” (think something like the Visual Studio Gallery and future NuGet home) site and server? Check out the Orchard Gallery/Gallery Server Projects…

Saturday, December 25, 2010

Want your own “Gallery” (think something like the Visual Studio Gallery and future NuGet home) site and server? Check out the Orchard Gallery/Gallery Server Projects…

CodePlex - Gallery Server

About the Gallery Server project

Gallery Server is a reusable service layer for application galleries. It can be used for storing and exposing packages for CMS systems, package managers, etc. Gallery Server will initially be utilized as the back-end service layer for the Orchard Gallery and NuGet projects

Getting involved

If you have a need for a gallery website of your own and would like to use Gallery Server for storing and exposing a feed of packages, you can get involved by joining the Orchard Gallery mailing list and participating in discussions on this site. We are also gathering requirements for future phases of the project and we welcome your input. We accept code contributions as patches, under the same general guidelines as the Orchard Gallery project.”

CodePlex - Orchard Gallery

Gallery Overview

The gallery consists of a backend system, for storing packages and exposing a feed, and front-end website, for browsing items in the gallery and submitting new items.

The Gallery Backend

The backend is an MVC app that provides package storage, an OData feed for reading a list of packages from the gallery, and a secured publishing endpoint for submitting packages and metadata updates. The gallery website is just one client of the backend system – other clients include the Orchard admin panel and the NuPack and Orchard command-shell utilities. Over time, we hope to integrate the gallery feed more deeply into other tools.

The gallery backend will support:

  • Uploading a package file, or alternatively submitting a URL to a package located on an external site (like
  • Updating package metadata (such as title, version, author, etc) to be exposed by the backend feed
  • Exposing an OData-format feed so that client applications can enumerate and query gallery items

While Orchard and NuPack are standardizing on a common package format (NuPack), it remains a goal for this gallery implementation to support alternative package formats, so that other apps might leverage this gallery implementation for their needs.

The Gallery Website

The website will be built using the Orchard framework, and will provide search, browsing, and community ratings/comments. It will also provide a means for uploading and sharing packages.
We are not attempting to produce a single gallery website for all applications. Rather our approach is to deliver a reference implementation that can be used as the basis for running different instances of gallery sites. For example, the Orchard and NuPack galleries will likely be separate sites, tailored to their respective audiences. However, these galleries will share the same underlying code, feed schema, and submission system.



If you’re offering or sharing plug-ins, components, extensions, libraries, etc, etc, then you might want to check out these projects. Why re-invent the wheel?

I like the smart move in keeping the front end and back end separate and in separate projects. This allows for more flexible deployments and usage scenarios (think using the Gallery Server and your own custom front end/Extension Manger thing… ;)

What I’d REALLY like to see is other groups at Microsoft using them to manage/host/deliver their plug-ins (cough… Windows Live Writer plug-ins… cough…).

BTW, for more information on how NuGet is using these projects for their new deployment plans, check out Angle Bracket Percent - An update on the NuGet package submission process

Monday, October 04, 2010

MVC view engines, WebFormViewEngine, Spark, NHaml and Razor - zomg my head is going to explode. Could a developer please put these side-by-side and do a review to help me intelligently pick one?… Hey, the Coding4Fun team and Jason Haley have done just that!

Coding4Fun - Developer Review - Four ASP.NET MVC View Engines

“In this Developer Review, we evaluate four view engines available for use with ASP.NET MVC. First, we discuss the role a view engine plays in a website built with ASP.NET MVC, then we provide details about the four view engines in order to help you decide which one suits your needs.

Jason Haley,

Source Code: Download in Branches/Playground directory

What Does a View Engine Do?

When we refer to a view engine in ASP.NET MVC, we are talking about three pieces of functionality:

· A template locator/provider (implementation of IViewEngine)

· A template that can render itself (implementation of IView)

· A template engine that can parse and compile the view file syntax into executable code

Combining these three pieces, a view engine provides your controllers with the ability to translate views into Html.

Why Use an Alternate View Engine?


This is a monster length article (21 pages) that puts a few MVC View Engines side by side to help you compare them apples-to-apples. Written by Jason Haley, of “Interesting Finds” fame, who, like most of us, is outside of Microsoft and is just trying to get stuff done. Meaning this isn’t written by someone inside trying to “sell” you something but by a dev like you…

Wednesday, September 22, 2010

“Web Camps Training Kit” Don’t re-invent, re-use…

Microsoft Downloads - Web Camps Training Kit

“September 2010 release of the Web Camps Training Kit

File Name: WebCampsTrainingKit.Setup20100917.exe

Size: 131.4MB

Version: 2.0

Date Published: 9/20/201

The kit includes all the content presented around the world at the recent Web Camps events; presentations, demos, labs and more. Inside the new kit you’ll find content that covers the following technologies:

  • jQuery
  • Entity Framework
  • Visual Studio 2010
  • Internet Explorer 9 and HTML5
  • Web Applications


You guys know me, I hate seeing presentations, training, etc re-invented when there’s viable (and cheap/free) alternatives. Alternatives such as this. This 131MB download expands to 520 MB of labs, presentations, doc’s, source and training goodness. 



Friday, July 16, 2010

How about a generic API that hooks your Web app to different social networks? How about the “Web Application Toolkit for Social Network APIs”! (C# and VB)

MSDN Code Gallery - Web Application Toolkit for Social Network APIs

“As social networking Web sites are becoming more and more popular, users often want to access simultaneously the different networks they belong to from one only entry point. For example, one user might want to post the same message they are posting on your site also on Facebook, Twitter, MySpace and so on.

Although many of these social networks provide APIs for accessing their information, you might want to integrate your Web application with several social sites at the same time and be able to do this in a consistent manner, without having to go into numerous modifications in your code with each new social network that you want to incorporate.

This Web Application Toolkit provides a generic “Social Networks” API that allows connecting your Web application with different social networks and managing them through one entry point with a consistent set of methods. In the Toolkit you’ll find examples of how to use the Social Networks API provided to connect a Web application with Facebook and Twitter, allowing you to manage the data provided by these networks in a generic way.

Please notice that this Toolkit includes examples only for reduced set of operations (mainly posting status updates) within the two social networks named before. Through this documentation you’ll find instructions on how to extend this set into more operations and more social networks.


Note: “This Web Application Toolkit assumes that the developer has basic experience with ASP.NET MVC Framework.”

Once you install it you get the source, some Getting Started and Exploring the Toolkit guide (snapped below);


And a quick snap of the post install folders;


Wednesday, July 07, 2010

A WebMatrix Roundup

I’m going to try something new today. Usually I focus on one blog post and its thread, but today, given all the news about the new WebMatrix beta release, I’m going to do a “roundup” post, aka link curation, etc. But instead of dry links, I though I’d add a visual element to it and provide thumbnails and of the posts. My intent is to give you a quick way to gage the given post’s breadth and give you a feel for what’s there... To help you spend your click-through’s wisely (we only have so many clicks left in our lives and so must spend them well… so something like that… ;)

Here’s a few, of many, WebMatrix posts I came across this morning (in no particular order).


ScottGu's Blog - Introducing WebMatrix

ScottGu The Gu does his usual rock’n post with a nice pictorial WebMatrix introduction and usage walk through.

Little on text, lots on showing your many of its features and capabilities.

Paul Thurrott's SuperSite for Windows - Microsoft Introduces Web Matrix

image[3] Paul provides a brief overview of WebMatrix and included technologies

Scott Hanselman's - Microsoft Introduces Web Matrix

Scott Hanselman - Microsoft WebMatrix in Context and Deploying Your First Site Scott walks you through downloading and building your first web site with WebMatrix.

Make sure you scroll down and check out the Related Links section. There’s a ton of links to more information, videos, walk-through’s, tutorials etc

Mikesdotnetting - WebMatrix - A First Application

WebMatrix - A First Application Mike walks us through creating our first WebMatrix based web site, using the new SQL CE database/data binding and the new view engine, Razor.

Bob's Blog - WebMatrix Top Features

image Bob highlights his top 10+1 WebMatrix features

Angle Bracket Percent - How WebMatrix, Razor, ASP.NET Web Pages and MVC fit together

image David provides a nice overview on how all the new pieces, MVC, Razor, ASP.Net all fit together with WebMatrix

BillS IIS Blog - Announcing WebMatrix – a small, simple and seamless stack for Web developers

image A brief “Introducing” post via IIS.Net

Mary Jo’s All About Microsoft - Microsoft takes aim again at Web developers with new WebMatrix tool suite

image Come on, it’s Mary Jo!

Michael Crump - The Forrest Gump guide to the new WebMatrix.

The Forrest Gump guide to the new WebMatrix How can you go wrong with a post title like that! lol

Mike starts even farther back in the “Install” thread, starting from the Web Platform Installer and going forward from there to usage and deployment.