Showing posts with label ASP.NET. Show all posts
Showing posts with label ASP.NET. Show all posts

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.

...

image

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, May 12, 2014

Cool Round-up of the Day: Rob's "Top 10 Microsoft Developer Links for Monday, May 12, 2014"

Rob Caron - Top 10 Microsoft Developer Links for Monday, May 12, 2014

image

I think Rob's got the round-up cowboy title for the day... The only thing he's missing is the Azure stuff, more on the ASP.NET vNext story and the Office 365 API drop. But then again, he's trying to filter it down to 10, so I guess I can cut him a little slack... :)

Wednesday, April 30, 2014

Web Camps Training Kit, March 2014 Edition

Microsoft Downloads - Web Camps Training Kit - March 2014

Version: March 2014

Date Published: 4/29/2014

WebCampsTK-Package-WebCampsTrainingKit.exe, 114 KB

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:

  • ASP.NET 4.5
  • ASP.NET MVC 4
  • ASP.NET Web API
  • jQuery
  • SignalR
  • Entity Framework
  • Visual Studio 2013
  • Internet Explorer 11 and HTML5
  • Building apps for Office with HTML5
  • Cloud application services

 

imageimage

image

Internal or external, if you're doing any kind of Microsoft Web Stack Training, presenting or attending, this is a great resource...

 

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

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: http://www.asp.net/visual-studio/overview/2013/aspnet-scaffolding-overview.

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.

image

...

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

Overview

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.

...

Tutorials

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.

Thursday, March 20, 2014

"Designing Evolvable Web APIs with ASP.NET" [Currently] free webook (web ebook)

Kris' blog - Designing Evolvable Web APIs with ASP.NET now as a free ebook

If you’re interested to update your knowledge of simply get started with Web API then there are a bunch of decent books already out there. I noticed however that Glenn Block and others at Microsoft released a book as well and, at the moment, provide for free over at http://chimera.labs.oreilly.com/books/1234000001708.

To get a grasp of what’s in there:

...

Designing Evolvable Web APIs with ASP.NET

by Glenn Block, Pablo Cibraro, Pedro Felix, Howard Dierking, and Darrel Miller

With this digital Early Release edition of Programming JavaScript Applications, you get the entire book bundle in its earliest form—the author's raw and unedited content—so you can take advantage of this content long before the book's official release. You'll also receive updates when significant changes are made, as well as the final ebook version.

Build HTTP services that reach a broad range of clients—including browsers and mobile devices—with ASP.NET Web API. This practical guide shows you how to build evolvable HTTP services using Microsoft's new Web API framework. It included both real world design and technical guidance from members of the ASP.NET Web API team and it's early adopters. It will cover fundamentals of Web API design and how to apply them properly using the technology. You'll learn fundamentals like how to design and select a media type, how to build out your API, and then move on to more advanced topics like how to use content negotiation, leveraging hypermedia, securing and testing your API, and much much more.

image

While I really don't dig webooks (I love my kindle entirely too much... even Firing, as in Kindle Firing, my dev book reading...) free is a hard deal to beat.

Friday, February 21, 2014

Need a little help cleaning up your code? CodeMaid will help with that developer dirty work...

Dotnetjalps-asp.net - CodeMaid extension for visual studio

Till now I’m a resharper fan boy and I still love using it. It is a great productivity tool. But it is not free for commercial use. So lots of my friends tell we want something open source or free which provide some kind of productivity over normal visual studio things and recently I came across CodeMaid extension of visual studio. It is a great plugin.

What is CodeMaid?

CodeMaid is an open source Visual Studio extension to cleanup, dig through and simplify our C#, C++, F#, VB, XAML, XML, ASP, HTML, CSS, LESS, JavaScript and TypeScript coding.

CodeMaid

An open source visual studio extension to cleanup, dig through and simplify our C#, C++, F#, VB, XAML, XML, ASP, HTML, CSS, LESS, JavaScript and TypeScript coding

image

Code Digging
Visualize and navigate through the contents of your C# and C++ files from a tree view hierarchy. Quickly switch between different sorting methods to get a better overview. Drag and drop to reorganize the code. See McCabe complexity scores and informative tooltips.

Reorganizing
Reorganize the layout of members in a C# file to follow Microsoft’s StyleCop convention, or your own preferences.

Collapsing
Recursively collapse nodes or the entire tree in the solution explorer window.

Configuring
Enable, modify or disable many of the aspects of how CodeMaid does its work.

Formatting
Format comments to wrap at a specified column and arrange XML major and minor tags on separate lines.

Progressing
View the overall progress of a build within Visual Studio, or in the Windows taskbar, both with a green/red status indication.

Switching
Switch between related files, such as cpp and header files or xaml and code-behind.

Joining
Join two adjacent lines, or a highlighted section of code onto a single line.

Finding
Find the current file in the solution explorer window.

and More!
Toggle read-only state, close read-only files, etc.

Download (Visual Studio Gallery) Go Straight to the Source

I dig the number of languages supported (and that it's OSS :) This is SO likely to see a Coding4Fun blog post in the near future... :)

Tuesday, February 18, 2014

Exceptionless Error Reporting Service is now Exceptional++ (as in it's now OSS!)

Blake Niemyjski - Exceptionless Error Reporting Service Goes Open Source

It’s a big day at Exceptionless.

We are super excited to announce that we are open sourcing the Exceptionless code! That’s right, now you can hack on our real-time error reporting tool yourself.

Too many apps are throwing too many errors out there, resulting in confused users, lost business, and endless frustration.

We believe Exceptionless can help the development community become more in-tune with their code by making those errors more transparent, trackable, and squashable. More importantly, we want to support developers building and shipping better code for their users.

Cool, Where Do I Start?

Check out the Exceptionless Github Repository, and make sure to read about contributing if you plan on helping us improve the project.

...

Why Open Source?

In short, we want to see what the community can do with our baby, which we consider a great development tool. The open source movement has provided innovation throughout the industry, and we cannot tell you how excited we are to be a part of it.

We hope you will take it, add to it, suggest great new features, and report bugs, but most of all we hope you will use it to build better apps for the world.

The Exceptionless Team will continue to work on a road map of features and improvements, all while providing support to developers that want to contribute.

Planned features/enhancements

...

Exceptionless

image

What Is Exceptionless?

The definition of the word exceptionless is: to be without exception. Our product provides real-time .NET error reporting for your ASP.NET, Web API, WebForms, WPF, Console, and MVC apps. It organizes the gathered information into simple actionable data that will help your app become exceptionless. Best of all, it’s open source!

  • Error notifications, including critical and regressions

  • Easily see top errors and prioritize them

  • Intelligent .NET exception grouping into stacks

  • Dashboard with error stats and trends

  • Detailed error reports, including stacktrace

  • Add any custom objects to your error reports

  • Unlimited users per organization

  • Mark exceptions as fixed, monitor for regressions

  • Real-time view of exceptions as they happen

  • Ability to mark errors as being critical

  • Supports offline and occassionally connected scenarios

  • Easy setup in less than 5 minutes

exceptionless / Exceptionless

Getting Started

** NOTE: If you simply want to use Exceptionless, just go to http://exceptionless.com and signup for a free account and you will be up and running in seconds.

  1. You will need to have Visual Studio 2013 installed.
  2. Start MongoDB and Redis by opening StartBackendServers.bat.
  3. Open the Exceptionless.sln Visual Studio solution file.
  4. Select Exceptionless.App and Exceptionless.SampleConsole as startup projects.
  5. Run the project.
  6. The app will automatically make the 1st user that is created a Global Admin and will also create a sample Acme organization and project.
  7. Send a test error from the sample console application and you should see it show up immediately in the website.

Alternatively, you can watch this short YouTube video showing how to get started with the project.

Using Exceptionless

Refer to the Exceptionless documentation here: Exceptionless Docs

Hosting Options

  1. We provide very reasonably priced hosting at Exceptionless. By using our hosted service, you are supporting the project and helping it get better!
  2. If you would rather host Exceptionless yourself, you will need to follow these steps:
    1. Setup Mongo and Redis servers. We highly recommend that you run these on Linux systems because the Windows versions aren't as performant and reliable as the Linux versions. We also highly recommend that you setup Mongo in a replica set configuration.
    2. Setup IIS and add the Exceptionless website.
    3. Modify the connection strings in Web.config to point to your Mongo and Redis servers.
    4. Change the WebsiteMode to Production in the Web.config appSettings section.

How is Exceptionless licensed?

The Exceptionless server is licensed under GNU AGPL v3.0. The client libraries are licensed under Apache License v2.0.

We want Exceptionless to be free for those of you who want to host the application and data internally or just simply do not want to pay for a hosted account. Our hope is that by making the application free and open source that more people will be aware of it and use it which will indirectly result in more people using our hosted service.

The server is licensed under the AGPL license to ensure that any modifications that are made will be contributed back to the community.

We chose to release the client libraries under Apache License v2.0 to remove any ambiguity as to the extent of the server license — you do not have to license any software that uses Exceptionless under AGPL and are completely free to use any licensing mechanism of your choice.

...

Take the easy way, and let them host it or you can host it yourself. I love that they provide this option...

OWIN your own Helios - ASP.NET "Helios" project (Think "ASP.NET kind of rethought" or "ASP.NET Unbound")

.NET Web Development and Tools Blog - Introducing ASP.NET Project “Helios”

In late 2013 we made available a prerelease NuGet package which allows running a managed web application directly on top of IIS without going through the normal ASP.NET (System.Web) request processing pipeline. This was a relatively quiet event without too much fanfare. At last month’s MVA Windows Azure Deep Dive, we spoke about this for the first time publicly to a global audience.

Today, I’d like to give a formal introduction to ASP.NET Project “Helios”. This post will talk about why we’re introducing this project, what we hope to accomplish with it, and how this might fit in to our ecosystem moving forward.

I assume that the reader has a basic understanding of OWIN and ASP.NET Project Katana. If you are not familiar with these, a brief overview can be found at http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana.

...

Why Helios?

When we look at our ecosystem, we’re pleased by the success of MVC, WebAPI, SignalR, and our other recent high-level frameworks. These are valuable tools, they have a low barrier to entry for most developers, and they’re deployed completely out-of-band. This allows us to innovate quickly. MVC and WebAPI have published new major releases annually; SignalR has approximately quarterly releases. It allows our customers to deploy immediately, even to shared hosters.

Yet because System.Web is part of the .NET Framework proper, the ASP.NET runtime itself cannot iterate as quickly as we would like it to. We are bound by the release schedules of the .NET Framework as a whole. If a developer asks us to add a feature to ASP.NET, he must wait for the entire framework to rev. And then he must wait for his hoster or IT administrator to update the .NET Framework version on the web server. And if there’s a bug he must again wait for us to provide a fix.

Our core runtime iterates on the scale of years. The state of web technologies is much more agile – much more nimble. A web technology can live its entire lifetime – conception to sunset – in the time that elapses between major releases of the .NET Framework. Our developer audience deserves a base on which they can build a new breed of modern web applications.

And it’s not just wanting more agile development. Recall the list of ASP.NET pain points from earlier: unwanted redirects, too-helpful security handholding resulting in requests being denied, and so on. We’ll never be able to make more than minor tweaks to these behaviors, as we can’t risk breaking customers who have deployed sites and are depending on the existing behaviors.

Finally, we’ll never be able to make the ASP.NET core runtime a “pay-for-play” model. We have experimented several times with moving Web Forms out of System.Web.dll and into its own out-of-band package. This would finally allow us finally fix bugs that have been plaguing us for years. But Web Forms defined ASP.NET for years. The ASP.NET core pipeline and Web Forms processing are inextricably linked.

...

Goals and non-goals

As with all things, we need to define our goals before we can determine whether we have been successful in this endeavor. It is not our intent to make a new framework that is everything to all developers. In particular:

  • It is not our goal to have screaming high throughput for “Hello World” scenarios. While Helios does in fact perform significantly better than the full ASP.NET pipeline for such scenarios, these metrics aren’t terribly useful for real-world applications.
  • It is not our goal to provide 100% compatibility with existing applications. In particular, Helios projects do not support .aspx or .ashx endpoints or other ASP.NET-isms.
  • It is not our goal to compete with self-host for developer mindshare. Each OWIN host has its own benefits and drawbacks, and developers should choose the host that meets their needs. We’ll discuss choosing a host later in this post.

On the flip side:

  • It is our goal to enable higher density on web servers. For a machine running a single application, this might be measured by allowing a greater number of concurrent requests on the machine. For a shared hoster, this might be measured by allowing more active sites on a single machine.
  • It is our goal to provide behavior that mimics self-host more than it mimics web-host. We’re trying to eliminate as much magic as possible from the new host.
  • It is our goal to make the Helios framework fully out-of-band. The framework should be able to run without requiring installation as long as the target machine meets the minimum system requirements called out below. Developers should be able to acquire bug fixes / feature additions by acquiring updated packages through NuGet and bin-deploying to their servers / hosters.
  • It is our goal to reduce the friction of deploying a web application built on the Helios host. It should be just as easy to deploy a Helios-hosted application as it is any typical ASP.NET application.

Getting started

...

image

...

Conclusion

We’re excited about what this could mean for the future of our platform, especially as more frameworks and components break their strict dependency on System.Web.dll. This new design promises to allow us to ship new functionality fully out-of-band and to avoid surprising developers with unwanted behaviors.

I also want to stress that this is strictly an option. The target audience for this package is a minority of our overall developer audience. The team has no plans to force our general developer audience on to this system.

Finally, there is a supplemental post available with further information available for more advanced developers.  That post discusses performance and resource utilization in more detail. It also discusses using the Helios APIs directly without going through OWIN.

Sounds interesting and seems to mesh with hour the BCL team is also iterating faster. Will be keeping an eye on this...

Monday, February 17, 2014

Is it .Net? .net? .NET? Asp.net? ASP.NET? Dan's Microsoft Grammar Guide to the rescue...

Dan Fernandez's Blog - Correcting Grammar for Microsoft Products and Technology

I see book authors, editors, bloggers, press, team members, and occasionally even a VP misspell our products, technologies, and features that I thought I would build and maintain a list of the correct capitalization and spelling of the most commonly misspelled Microsoft products and technologies.

Sources: Internal site (brandtools) and the Microsoft Trademarks Web site.

SNAGHTMLb58279f

I was gently reminded today (Thanks Brian) that it's .NET, not .Net. I always seem to screw that up. Luckily Brain also directed me to this post by Dan that makes it so easy that even I can use it. (Damn, does that mean I don't have any more excuses? grrrr... ;)

Tuesday, January 07, 2014

"Building Real-World Cloud Apps with Windows Azure" code and eBook

Fix It app for Building Real World Cloud Apps e-book [Code]

This is a Visual Studio project that accompanies the e-book Building Real-World Cloud Apps with Windows Azure. The code demonstrates best practices for cloud apps as presented in the e-book, such as:

  • Storing automation scripts with code in source control
  • Using automation scripts for environment creation and deployment
  • Asynchronous programming
  • Dependency injection
  • Data partitioning
  • Blob storage
  • Transient fault handling
  • Instrumentation
  • Queue-centric work pattern

Building the Sample

There are two versions of the app you can run:

  • The base version is designed to run in a Windows Azure Web Site.
  • The queues version has a front-end web site and a back-end service. The front-end communicates with the back-end via Windows Azure Storage Queues. The front-end is designed to run in a Windows Azure Web Site, the back-end is designed to run in a Windows Azure Cloud Service.

The following instructions apply to the base version:

...

Description

The sample app is a simple work item ticketing system called “Fix It!”  When you need something fixed, you create a ticket and assign it to someone, and others can log in and see the tickets assigned to them and mark tickets as completed when the work is done.

It’s a standard Visual Studio web project. It is built on ASP.NET MVC and  uses a SQL Server database. It can run locally in IIS Express  and can be deployed to a Windows Azure Web Site to run in the cloud. For the queues version, the back-end code that processes the queue messages is deployed to a worker role in a Windows Azure Cloud Service.

...

image

Building Real-World Cloud Apps with Windows Azure [ebook]

imageimage

Tom Dykstra
Rick Anderson
Mike Wasson

Summary: This e-book walks you through a patterns-based approach to building real-world cloud solutions. The patterns apply to the development process as well as to architecture and coding practices. The content is based on a presentation developed by Scott Guthrie and originally delivered at the Norwegian Developers Conference (NDC) in June of 2013. Many others updated and augmented the content while transitioning it from video to written form.

Category: Guide Applies to: Windows Azure Web Sites, ASP.NET, Visual Studio, Visual Studio Online, Windows Azure Active Directory, Windows Azure SQL Database, Source: ASP.NET site (source content)

E-book publication date: January, 2014

...

I thought this was an old'ish book, but in looking deeper, it's not (really). It's new, fresh and free. Having the code with the eBook is nice too... :)

 

Related Past Post XRef:
Going beyond demo-ware with "Real World Windows Azure Guidance" from MSDN
"Building Hybrid Applications in the Cloud on Windows Azure" free ebook RTW's
“Windows Azure Architecture Guide, Part 1 – Moving Applications to the Cloud” now available as an interactive guide.
Moving Applications to the Cloud 2nd Edition guide (and Hands on Labs)
"Building Hybrid Applications in the Cloud on Windows Azure" free ebook and code (RC)

Monday, January 06, 2014

Hosting your own, internal, Visual Studio Extension Gallery? Want too? Jakob's Inmeta Visual Studio Extension Gallery v2 is now available

Jakob Ehn - Inmeta Visual Studio Extension Gallery – version 2.0

This year at the second MVP summit I presented a new solution for hosting a private extension gallery. Since then I have finished up the code and put it up on the CodePlex site so you can use it as you want to.

In this blog post I will walk through the background and how you deploy and use the solution.

Note: The sourcecode is available at http://inmetavsgallery.codeplex.com/ as a new 2.0 release. I have branched the original source code so that it is still available.

Background

Little more than a year ago, I blogged about how to host your own private gallery for hosting Visual Studio extensions. The solution that I put up on CodePlex (http://inmetavsgallery.codeplex.com/) was a ASP.NET web service that scans a folder or share and generates the corresponding Atom Feed XML that Visual Studio expects when browsing extensions, using the Extension Manager. See the blog post for details on how this works.

Although this solution works fine (we are using it internally at Inmeta) there are some things that have been nagging me:

  • There is no easy way to upload or update extensions.
  • Since the file system is the data storage, the service rescanned the whole structure on every request, which could become a bottleneck when the number of clients and/or extensions increase
  • I miss some of the features that are available in the “real” Visual Studio Gallery, such as showing the number of downloads and the average rating of each extension

The last bullet is what made start looking at how this works in Visual Studio. As you know

...

Solution
The new version of the Inmeta Gallery is a ASP.NET web application that consists of three parts:

  • A WCF service implementing the IVsIdeService interface
  • An ASP.NET web application where you can upload and rate visual studio extensions
  • A SQL database for storing the extensions.

image

This makes it easy to deploy, it is just one web application that contains both the service that VS communicates with and the web application where you can browse and upload the extensions.

The web application is simple, it shows the 10 most downloaded extensions together with the same information that you see in Visual Studio, and you can search extension by name or description. 

Here is a screenshot:

image

...

This should make creating your own, internal Extension Gallery no only easy, but fun. And hey, the source is available too...

 

Related Past Post XRef:
Like your own, inside the firewall Extension Gallery for VS2012? Inmeta's Got Gallery (free and open source too)

Thursday, October 24, 2013

Jason's Spa (err... I mean, Jason Haley's new SPA, Single Page Application, Resource page)

Jason Haley - New SPA Resource Center on JasonHaley.com

I’m working on building up a Single Page Application (SPA) section on my site (sort of like the Reversing, Obfuscation, etc. sections).

The url is: http://jasonhaley.com/spa/

...

JasonHaley.com - Single Page Application (SPA) Resources

image

Friend of the Blog, Jason Haley's got a new resource page for SPA's and if they are like his others, I'm sure this will come in handy in the future...

Wednesday, July 24, 2013

Katana? OWIN? What? Here's what and how to get started with them too...

In my last post I mentioned Katana, Katana Lifts Its License - Katana v2 nuget bins will not be restricted to Windows only..., but what IS it, you ask?

Pablo M. Cibraro (aka Cibrax) - Getting started with Owin and Katana

The .NET ecosystem offers today a lot of alternatives for developing web applications. You can either use any of the frameworks supported by Microsoft with ASP.NET such as Forms, MVC or Web API, or any other open source alternative like FubuMVC, ServiceStack, NancyFx or OpenRasta to name a few. From an architecture standpoint, all these frameworks have three main layers in common (in spite of the difference with the implementation details), hosting, middleware, and application.

The hosting layer is responsible for managing the underline process, where the http connections are established and managed, and also to materialize those connections into request/response objects that are sent to the upper layers. For example, the hosting layer could be ASP.NET running in IIS, or it could also be a console application that uses the http listener directly.

The middleware layer provides common infrastructure services, which runs at low level in the http stack, such as security, caching, or any other concern that can be handled at this level.

The application layer is where the applications or services are implemented using the features available in the framework.

However, the distinction between the middleware and application layers is not always clear, which causes that many of the middleware services end up being implemented in the application layer. For example, you could implement middleware services for security in ASP.NET MVC using filters, which rely on features specific to the application level in that framework. This make almost impossible to reuse all these services across all the available frameworks, so you will find different implementations of the same services for the different frameworks. To give an example, basic authentication is something that could be implemented as middleware service and reused, but today is implemented differently in each framework.

Someone would suggest that a ASP.NET Http Module could be a good option for implementing a middleware service, but that’s not necessarily true as it would only work when the hosting layer uses ASP.NET.

This exact problem is what OWIN specification tries to address by providing a common abstraction for any http-aware service or application with minimal dependencies on existing frameworks or implementations.  At very core level, OWIN defines a handler, which is represented as an application delegate...

...

Katana is a Microsoft implementation of the OWIN specification, which includes handlers for the hosting and middleware layers. It’s an open source project, which can be found in this location. All the investment that Microsoft has done so far for ASP.NET in the different application frameworks (i.e. MVC or Web API), it’s now being refactored as OWIN handlers that can be reused across different application frameworks. For example, cookie authentication or even OAuth are being implemented as middleware services that can be reused not only by ASP.NET web apps but also for other application frameworks in the open source world.

...

imageimageimage..."

There you go!

Katana Lifts Its License - Katana v2 nuget bins will not be restricted to Windows only...

CodeBetter - Howard Dierking - Katana License Lifts Windows-only Restriction

Over the past few months, a great deal of attention has been paid to the following clause used in most of the licenses associated with the NuGet packages that we and other teams at Microsoft ship.

“ a. Distribution Restrictions. You may not distribute Distributable Code to run on a platform other than the Windows platform;

In the case of the ASP.NET-related projects, including project Katana, this license (and the associated restriction) does not apply to the source code, but rather to the compiled binaries that are distributed via NuGet (the Katana source code is released under the Apache 2.0 license). This means that even today, it is perfectly reasonable to build the source code yourself and run it on Mono on whatever platform you choose.

As Microsoft teams continue to take more and more components out of the traditional box products and deliver them as NuGet packages, the frustration over this restriction has grown proportionally. ...

So we changed the license.

With the release of Katana 2.0, which will accompany Visual Studio 2013, the Windows-only restriction will be removed from the Katana binary license. It’s important to note here that at this point, the exception applies only to the Katana packages.

While it may appear to be a small step, we’re very excited as we believe it to be a significant one in the right direction!

As I said in my last post, this isn't the Microsoft we grew up with, is it? Nice to see the team respond to this concern and to take steps, no matter how small, to make it "right."

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 http://www.red-gate.com/25secrets.

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 www.red-gate.com/50ways).

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" ;)

imageimage

imageimage

image

Nice tips and the price is just right...

Monday, July 01, 2013

350 .Net Dev Interview Questions and Answers PDF from F5debug

F5debug - Releasing Printable PDF document on 350 Interview Questions and Answers on .NET Framework, C#, OOPS, ASP.Net, SQL, WCF

Few months before I released a series on Interview Questions and Answers on .Net Framework, OOPS, C#.Net, ASP.Net, SQL Server and WCF which got attention to all the Job Seekers in Microsoft Stack. Many of the readers requested for a printable version of the document which can be used as a offline mode when they are on the move. So one of my friend and follower Mohit Chhabra consolidated all the questions and answers in one document which can be downloaded and used offline.  

Topics Covered:

Below are the list of topics covered, you can navigate to this page to see the list of questions that are answered in this series.

  • .NET Framework
  • C#.Net
  • Object Oriented Programming
  • ASP.Net
  • SQL Server
  • Windows Communication Foundation (WCF)
  • XML Programming

Download Link:

...[GD: Click through to download it]

Here's a snap of the PDF:

imageSNAGHTML1460a59c

Not that I'm job hunting, but still I thought this kind of, sort of interesting (only kind of, sort of, because I'm not a huge fan of SAT like, tie them to the chair and grill them till they cry, interviews). Heck worse case it's an interesting refresher resource. :)

Friday, April 05, 2013

Nothing like a little LinqPad fun for a Friday - "Hosting ASP.NET Web API in LinqPad"

StrathWeb - Hosting ASP.NET Web API in LinqPad

Today I stumbled upon an interesting Stackoverflow question, where the user was asking how to go about self-hosting Web API in LinqPad.

The question has gone unanswered since December, and I’m guessing even the OP forgot about it. However, I’d like to elaborate a bit about the topic. You certainly can host Web API in LinqPad, provided you plug in a quick work around – and we actually did hit a similar issue with scriptcs.

Understanding LinqPad

LinqPad is an absolutely terrific tool, which allows you to write complex C# without Visual Studio. To be able to answer our original Web API hosting question, we need to understand what LinqPad does under the hood. Unfortunately, we won’t be able to dig much beyond the rough overview LinqPad offers on its about page, since it’s closed source.

However the page also features a nice chart explaining the high levels of LinqPad. I hope Joseph will take no offense if I hotlink it here:

...

Web API hosted in LinqPad.

image

Nothing like a little LinqPad Love. This is an officially cool LinqPad hack.

What can't you have LinqPad do? I wonder if I can get LinqPad to make me breakfast... :P

Friday, January 25, 2013

50/50/18 - "50 Ways [in 50 pages from 18 of you] to Avoid, Find and Fix ASP.NET Performance Issues" Free (email address-ware) eBook

simple talk - Michaela Murray - Free eBook: 50 Ways to Avoid, Find and Fix ASP.NET Performance Issues

Back in November, I started asking for your top tips on ASP.NET and SQL Server performance.

In case you haven’t seen it yet, we’ve now published 50 of our favourite in a free, brand-spanking new eBook – 50 Ways to Avoid, Find and Fix ASP.NET Performance Issues.

When we asked for your tips, we really weren’t sure what sort of response we were going to get. The whole idea was a bit of an experiment. We knew there were stacks of great guidance out there – every time I go to a .NET event I learn a clever new trick – but we really weren’t expecting the avalanche of advice that came through from all of you. It was seriously hard work to pick the pieces that should go in.

However, the time has FINALLY come to announce the lucky winner of the prize – a Microsoft Surface – for the best ASP.NET performance tip. And it is…(drumroll)…Troy Hunt, for this pearl of wisdom:

..."

Snaps of the eBook

imageimage

image

And a snip from it...

Foreword
This book began as a publishing experiment: could we make the collective wisdom of the ASP.NET and SQL Server communities available as an eBook? We chose performance improvements as our topic, and started asking for tips in November 2012.

You’re reading the results now.

We’d like to thank our panel of judges, the LIDNUG group, and most of all the ASP.NET community for taking part. Although we set a strict timeframe for gathering and editing the advice that came in, there’s no reason to stop here. Each tip came from a fellow developer and we’d love to gather more, so if you think something is missing, let us know, or use #50ASPtips to tweet about it. With your help, we can make ASP.NET apps run faster than Usain Bolt with cheetahs for shoes.

If you're an ASP.Net'er you should probably grab this ebook soon... um... like... real soon... um... like now'ish. You got it yet? What are you waiting for? Go...

Thursday, December 13, 2012

"Moving Applications to the Cloud, 3rd Edition - Book Download"

Microsoft Downloads - Moving Applications to the Cloud, 3rd Edition - Book Download

Moving Applications to the Cloud, 3rd Edition - Book Download

Version: 2.0
Date published: 12/12/2012

Language: English

Moving Apps to the Cloud 3rd Edition.pdf, 3.4 MB

This is a PDF file of the "Moving Applications to the Cloud, Third Edition" book.
This guide is the third edition of the first volume in a series about Windows Azure. It demonstrates how you can adapt an existing on-premises ASP.NET application to one that operates in the cloud by introducing a fictitious company named Adatum that modifies its expense tracking and reimbursement system, aExpense, so that it can be deployed to Windows Azure. To illustrate the wide range of options and features in Windows Azure, this guide and the code examples available for it show a step-by-step migration process that includes using Windows Azure Web Sites, Virtual Machines, Cloud Services, and SQL Database. Together with useful information on developing, deploying, managing, and costing cloud-hosted applications, this guide provides you with a comprehensive resource for moving your applications to Window Azure.

...

Note that the code samples mentioned in this book are available in the related downloads section, Windows Azure Architecture Guide – Part 1 – Code Samples. For help and support visit the Windows Azure Guidance community site

...

imageimage

Foreword for the Third Edition
Since its first beginnings, and since I reviewed the original edition of this guide from the patterns & practices team, Windows Azure has continued to mature by offering exciting new services and capabilities. Now that we have achieved general release, with a comprehensive SLA, we have seen a huge uptake of the platform across all sectors of our industry.

In my original foreword I talked about our commitment to the enterprise. We have proved not only that we can deliver on these commitments, but go beyond them to offer even more innovative features; including many that make migration of existing on-premises applications to the cloud much easier. The business case for Windows Azure continues to prove itself, and there is even more to come!

...

How This Book Is Structured
Chapter 1, “The Adatum Scenario” introduces you to the Adatum company and the aExpense application. The following chapters describe how Adatum migrates the aExpense application to the cloud. Reading this chapter will help you understand why Adatum wants to migrate some of its business applications to the cloud, and it describes some of its concerns. It will also help you to understand basic options for hosting applications and services in the cloud.

Chapter 2, “Getting to the Cloud” describes the first steps that Adatum took in migrating the aExpense application. Adatum’s goal here is simply to get the application working in the cloud, but this includes “big” issues such as security and storage. The chapter shows how Adatum used Windows Azure virtual machines and network services to deploy and communicate with the hosted servers.

Chapter 3, “Moving to Windows Azure Cloud Services” describes how Adatum adapted the aExpense application to run as a hosted service in Windows Azure by using the Cloud Services feature. The chapter describes how Adatum modified the solution, converted it to use claims authentication instead of Active Directory, and took advantage of Windows Azure Caching for the session data.

Chapter 4, “Moving to Windows Azure SQL Database” describes how Adatum evaluated the use of Windows Azure SQL Database instead of a hosted SQL Server by exploring the limitations this might impose and the cost savings that it might provide. The chapter then goes in to show how Adatum converted the aExpense application to use Windows Azure SQL Database.

Chapter 5, “Executing Background Tasks” describes adding a worker role to the aExpense application to process scanned receipt images as a background task. It also shows how aExpense uses Windows Azure blob storage for storing these images, and shared access signatures to provide secure access to them.

Chapter 6, “Evaluating Cloud Hosting Costs” introduces a basic cost model for the aExpense application running on Windows Azure and shows how Adatum calculated the estimated annual running costs for the application.

Chapter 7, “Moving to Windows Azure Table Storage” describes how Adatum switched from using a SQL database to using Windows Azure table storage in the aExpense application. It discusses the differences between the two storage models, and shows how Adatum adapted the data access code to work with Windows Azure table storage. This chapter also discusses how Adatum fine-tuned the application after deployment, and the options it is considering for improving the application in the future.

Thinking about moving to Azure, you should think about reading this free ebook...

 

Related Past Post XRef:
Moving Applications to the Cloud 2nd Edition guide (and Hands on Labs)
More on the "Moving Applications to the Cloud" HOL's (Think "Just what were in those Azure HOL's? Oh... that! That's cool..." )
“Windows Azure Architecture Guide, Part 1 – Moving Applications to the Cloud” now available as an interactive guide.

Tuesday, October 23, 2012

Another Cool eBook of the Day: "Single page apps in depth"

Single page apps in depth

This free book is the book I would have wanted when I started working with single page apps. It's not an API reference on a particular framework, rather, the focus is on discussing patterns, implementation choices and decent practices.

I'm taking a "code and concepts" approach to the topic - the best way to learn how to use something is to understand how it is implemented. My ambition here is to decompose the problem of writing a web app, take a fresh look at it and hopefully make better decisions the next time you make one.

Update: the book is now also on Github. I'll be doing a second set of updates to the book later on. Right now, I'm working a new lightweight open source view layer implementation, which has changed and clarified my thinking about the view layer.

image

I'm not currently much in the web dev world, but I like the idea of SPA's (Single Page Applications) and so found this online eBook interesting...

(via The Morning Brew - The Morning Brew #1216)