Today Visual Studio 11
Beta is released and available for download. Don't want to read a big blog
post? Phooey on you then! ;)
"One ASP.NET"One of the things that the fellows and I are working on that will be more obvious after the beta and even a little after the final release is this idea of One ASP.NET. We're sweeping through the whole framework, samples, templates and NuGet to make sure things work together cohesively. You'll hear more about this as we firm it up.Some guiding principles for ASP.NET are these:
These principles are some of the things that drove (and continue to drive) ASP.NET this development cycle. We are trying to give you great mobile options, great HTML5, CSS3 and JavaScript support and also including open source libraries like Modernizr, jQuery, jQuery UI and Knockout. We are working towards a more pluggable, more friendly but still powerful ASP.NET. Again, more on this soon and some surprises. We'll see more interesting uses of NuGet, more plug-ablity, more examples, and more systems working together. You want to mix and match a ASP.NET Web API, serialization with JSON.NET, use MongoDB, run Web Pages and Web Forms side by side, add some some SignalR and a few WCF enterprise Web Services? Add in ELMAH, Glimpse, Image Resizer and your favorite NuGet packages? Totally. It's Encouraged. It's all One ASP.NET. .NET Framework 4.5 BetaFor the most part in my experience, .NET 4.5 is a very compatible release. .NET 4.5 upgrades .NET 4 as .NET 3.5 upgraded .NET 3 (and 2, although we're trying to play by the versioning rules now, thank goodness.) The vast majority of .NET 4 apps should work fine on .NET 4.5 unless you are doing something exotic. I haven't had any problems myself, but I've heard of some unusual edge cases with folks doing ILMerge and a few other things.There's a number of new improvements. Some of my personal favorites and features I'm most interested in are (these are somewhat obscure, but nice fixes, IMHO):
ASP.NET Core FrameworkHere's a detailed release notes document about what's new in ASP.NET 4.5 and Visual Studio "Web Developer" 11 Beta. The core ASP.NET framework has a lot of new support around asynchrony. Asynchrony has been a theme throughout the whole Visual Studio 11 process and ASP.NET is full of improvements around this area.There's support for the await keyword, and Task-based modules and handlers. private async Task ScrapeHtmlPage(object caller, EventArgs e) { WebClient wc = new WebClient(); var result = await wc.DownloadStringTaskAsync("http://www.microsoft.com"); // Do something with the result }Even IHttpAsyncHandler (a classic, and a difficult thing to get right) has a friend now: public class MyAsyncHandler : HttpTaskAsyncHandler { // ... // ASP.NET automatically takes care of integrating the Task based override // with the ASP.NET pipeline. public override async Task ProcessRequestAsync(HttpContext context) { WebClient wc = new WebClient(); var result = await wc.DownloadStringTaskAsync("http://www.microsoft.com"); // Do something with the result } }There's security improvements with the inclusion of core encoding routines from the popular AntiXssEncoder library, and you can plug in your own. ASP.NET also has WebSockets support when running on Windows 8: public async Task MyWebSocket(AspNetWebSocketContext context) { WebSocket socket = context.WebSocket; while (true) { ... } }Bundling and Minification is built in and is also pluggable so you can swap out own techniques for your own, or your favorite open source alternative. There's lots of performance improvements including features for dense workloads that can get up to a 35% reduction in startup time and memory footprint with .NET 4.5 and Windows 8. ASP.NET 4.5 also supports multi-core JIT compilation for faster startup and more support for tuning the GC for your server's specific needs. ASP.NET Web FormsThere's lots of refinements and improvements in Web Forms. Some favorites are strongly-typed data controls. I blogged about this before in my Elegant Web Forms post. There's two way data-binding in controls like the FormView now instead of using Eval() and you'll also get intellisense in things like Repeaters with strongly typed modelTypes.Web Forms also gets Model Binding (all part of the One ASP.NET strategy) which is familiar to ASP.NET MVC users. Note the GetCategories call below that will bind to a View with IQueryable. public partial class Categories : System.Web.UI.Page { private readonly DemoWhateverDataContext _db = new DemoWhateverDataContext(); public void Page_Load() { if (!IsPostBack) { // Set default sort expression categoriesGrid.Sort("Name", SortDirection.Ascending); } } public IQueryable<Category> GetCategories() { return _db.Categories; } }In this example, rather than digging around in the Request.QueryString, we get our keyword parameter this way: public IQueryable<Product>GetProducts([QueryString]string keyword) { IQueryable<Product> query = _db.Products; if (!String.IsNullOrWhiteSpace(keyword)) { query = query.Where(p => p.ProductName.Contains(keyword)); } return query; }Web Forms also get unobtrusive validation, HTML 5 updates and elements, and those of you who like jQuery but also like Web Forms Controls (as well as Ajax Control Toolkit fans) will be thrilled to check out the JuiceUI project. It's an open-source collection of ASP.NET Web Forms components that makes jQuery UI available in a familiar way for Web Forms people. ASP.NET MVC and Web APILast week I blogged about Making JSON Web APIs with ASP.NET MVC 4 Beta and ASP.NET Web API. ASP.NET MVC 4 includes these new features (and a few more) and is included in Visual Studio 11 Beta.
WCF remains the framework for building services where you care about transport flexibility. WebAPI is the framework for building services where you care about HTTP. ASP.NET Web Pages 2New features include the following:
Visual Studio - for Web DevelopersThere's an extensive list of features and fixes on the Web Developer Tools team Blog. Here are my favorites.The HTML Editor is smart about HTML5 and you can develop smart HTML5 sites with any ASP.NET technique. The CSS Editor has a new formatter, color picker, better indentation, smart snippets and vendor-specific IntelliSense. That's Webkit and Opera in the screenshot over there. The Javascript Editor has IE10's Javascript engine and supports Javascript as a 1st class citizen with all the support you get in other languages like Go To Definition, brace matching, and more. Page Inspector is all new and lets you to see what elements in the source files (including server-side code) have produced the HTML markup that is rendered to the browser. IIS Express is now the default web application host. All the LinksGeneral Info
Download
Got ASP.NET issues? Complain to me (kindly) and vote up features and concerns at our UserVoice site or ask questions in the ASP.NET forums. There will also be new videos, tutorials and information at http://asp.net/vnext and we are continuing to update the site with fresh content. Hope you enjoy the Beta. Please do take a moment to install it, try it out, and offer feedback. There is time for us to make changes, fixes and improvements but only if you give feedback.
© 2012 Scott Hanselman. All rights
reserved.
|
View article...
No comments:
Post a Comment