BusinessRx Community

Dedicated to the advancement of software, technology and the people who devote their lives to it.

Welcome to BusinessRx Community Sign in | Join | Help
in Search

BusinessRx Reading List

These blog entries are written by industry experts and leaders. We consider this content to be a good read for any software developer or web technologist.

Browse by Tags

All Tags » .NET » IIS7 » Visual Studio   (RSS)

  • MIX08

    MIX is a Microsoft web development conference we hold in Las Vegas each year. 

    MIX tends to be a pretty fun event, both because it covers cutting edge content (we used MIX07 to announce our Silverlight plans), and also because it tends to attract a really diverse set of attendees (including both those who use Microsoft technology today, and a large % of attendees who don't).  The conference structure includes a healthy blend of sessions and interactive panels, and the layout and organization is designed to facilitate great conversations.

    This year's MIX is being held March 5th-7th in Las Vegas.  Ray Ozzie and I are both giving keynotes the first day of the event, and Steve Ballmer and Guy Kawasaki will be doing a keynote the second day of the event.

    The conference (and especially my keynote) is going to cover a lot of new web technology.  Attendees will be able to attend sessions covering:

    • IE 8
    • IIS 7.0
    • ASP.NET (including ASP.NET 3.5, ASP.NET AJAX, ASP.NET MVC, and ASP.NET Dynamic Data) 
    • VS 2008 and Expression Studio
    • WPF
    • Silverlight 2
    • And much more....

    Channel 9 recently did an interview with me where I talked about some of these new technologies.  In Part 1 of the interview I talked about IIS7, and in Part 2 of the interview I talked about ASP.NET, WPF and Silverlight 2.

    Register Soon Or You'll Miss Your Chance

    MIX is held at a smaller venue then some of our larger events like TechEd and PDC.  This gives the conference a more intimate feel (which is fun).  It also means that it sells out each year, and once it is sold out it is really sold out. 

    Last year I received about 50 emails from people begging for tickets after it was full, and many people even flew to the event hoping to somehow be let in at the door (only to be unfortunately told they couldn't get in).  Unfortunately because of size constraints (and fire marshal restrictions) once it is sold out there really are no more tickets to be had.  Even my own team members get turned away if they haven't registered in time.

    This year's registration is filling up faster than any of the previous MIX conferences.  If you want to attend I highly recommend registering really soon to ensure you can go.  You can learn more about the event and register online here.

    Hope to see some of you there - it is going to be fun....

    Scott

  • Jan 24th Links: ASP.NET, ASP.NET AJAX, Visual Studio, .NET, IIS

    I just arrived back from my trip from Asia, and decided to celebrate (since I'm jet-lagged and can't sleep) with a new post in my link-listing series.  You can check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past.

    ASP.NET

    ASP.NET AJAX

    Visual Studio

    • Using Ctrl-Break to Stop VS Building: Steven Harman points out a cool tip/trick, which is that you can use the Ctrl-Break key within Visual Studio to kill the current compilation build.  A useful tip if you've accidentally kicked off a long build or get tired waiting for it to finish.

    .NET

    • Marshaling between Managed and Unmanaged Code: Yi Zhang and Xiaoying Guo from my team in Shanghai have written a great MSDN article that describes how to use the marshaling interop features of the CLR to call native code.  One of the tools they highlight is an awesome P/Invoke Interop Assistant application they built that makes it much, much easier to generate p/invoke interop signatures when calling native methods.  A must-have tool for anyone doing native/managed interop!

    • .NET Framework 3.5 Poster: Brad Abrams posts about the cool new .NET Framework 3.5 posters now available for download (now in multiple file formats).

    IIS

    • Microsoft Web Deployment Tool Technical Preview 1: Yesterday the IIS team posted the first preview of a new Microsoft Web Deployment tool.  This tool works with both IIS6 and IIS7 and enables automated deployment, synchronization, and migrating of applications on web servers.  If you are looking for a great way to automate the deployment of your ASP.NET applications then this tool is definitely one to check out.  To learn more, read the walkthroughs at the bottom of this page (in particular the "Introduction to MS Deploy" one).  This tool is awesome and should make automated deployment much easier.

    Hope this helps,

    Scott

  • Jan 4th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7

    Here is the latest in my link-listing series.  Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past.

    ASP.NET

    • BlogEngine.NET 1.3 Released: Mads Kristensen blogs about the new release of BlogEngine.NET.  This excellent ASP.NET open source blog engine keeps getting richer and richer.

    • Web Hosters Offering ASP.NET 3.5: Brad Abrams has a nice post that lists some great web hosting providers that are already offering ASP.NET and .NET 3.5 offerings.

    ASP.NET AJAX

    • Using the ASP.NET 3.5 Extensions History Support: Dino Esposito has a nice article that demonstrates how you can use the new "EnableHistory" feature on the <asp:scriptmanager> control to add named history points to the browser.  This enables browser forward/back button integration with ASP.NET AJAX applications.  Also read David Barkol's post about this feature here.

    • ASP.NET AJAX History How Do I Video: To learn more about the new ASP.NET AJAX history support, watch this great 15 minute video from Bertrand Le Roy of the ASP.NET team.  He demonstrates how to AJAX enable an <asp:wizard> control, and then add history marker points to it.

    • Script# Update: Nikhil Kothari recently posted an update to his awesome Script# framework, which allows you to compile C# into JavaScript.  Included within this update are project and file templates for VS 2008.  You can learn more about Script# here.

    ASP.NET MVC

    • Using ASP.NET MVC from Visual Web Developer Express 2008: Jason Whitehorn has published a nice project template that enables you to use the ASP.NET MVC framework with a web-site project in Visual Web Developer Express 2008.  We'll be adding both class library and web application project support to Visual Web Developer Express 2008 SP1 later this year - which will enable you to optionally use the MVC web application project templates with the free VWD Express as well.

    • Accessing Server Controls from CodeBehind with ASP.NET MVC Views: David Hayden has a good post that discusses a workaround for a bug with the current ASP.NET MVC CTP view templates - which prevents you from coding against server controls in view template code behind classes.  You can right-click on the MVC view files and select "Convert to Web Application" to fix it.  Alternatively, you can download updated MVC Templates that Troy Goode recently posted here.  This issue will be fixed with the next MVC update.

    Visual Studio

    • Visual Studio 2008 and .NET Framework 3.5 Training Kit: Microsoft recently shipped a free training kit that you can download that contains tons of excellent material that will help you learn the new features of VS 2008 and .NET 3.5.  Mike Ormond has a nice blog post that discusses it here.

    • Spell Checker Update 2.1: The web tools team has a bug fix and feature addition update to the free spell checking download you can use with VS 2005 and VS 2008.  You can also learn more about the spell checker features here.

    IIS 7.0

    • IIS Manager Module to Scan for Assemblies Built in Debug Mode: Vijay from the IIS team has a nice post that shows off how he used the IIS7 admin tool extensibility to build a module that automatically scans deployed applications looking for assemblies that have been accidentally deployed in debug mode.

    Hope this helps,

    Scott

  • .NET Web Product Roadmap (ASP.NET, Silverlight, IIS7)

    Last week we shipped Visual Studio 2008 and .NET 3.5.  This release is a big one for .NET, and delivers a ton of new capabilities and improvements for web, client, office and mobile development.

    Over the next few months we'll be delivering a series of additional products that build on top of this VS 2008 and .NET 3.5 foundation, and make .NET development even better.  Below is a road-map of some of the upcoming initiatives and releases for .NET web development that my team is currently working on for the months ahead:

    Releasing the Source Code for the .NET Framework Libraries

    We announced last month that we'll provide the ability for developers to download and browse the source code of the .NET Framework libraries, as well as enable integrated source debugging of them using Visual Studio 2008.  You can learn more about this in my blog post here.

    We are finishing up the final deployment of the source servers that host this now, and will be publishing instructions on how to enable the integrated debugging experience within Visual Studio 2008 shortly.  I'll blog detailed steps on how to turn this feature on once it is available.

    ASP.NET 3.5 Extensions Release

    VS 2008 and .NET 3.5 include a ton of new features for ASP.NET development.  We are planning to deliver even more ASP.NET functionality next year with a "ASP.NET 3.5 Extensions" release.  The first public preview of this will be available for download next week on the web.

    Next week's ASP.NET 3.5 Extensions preview release will include:

    • ASP.NET MVC: This model view controller (MVC) framework for ASP.NET provides a structured model that enables a clear separation of concerns within web applications, and makes it easier to unit test your code and support a TDD workflow.  It also helps provide more control over the URLs you publish in your applications, and more control over the HTML that is emitted from them.  You can learn more about it from Part 1 of my ASP.NET MVC Tutorial series.  I'm hoping to find time this weekend to write and post Part 2 of the series.
    • ASP.NET AJAX Improvements: New ASP.NET AJAX features in the ASP.NET 3.5 Extensions release will include better browser history support (back/forward button integration, and server-side history management support via a new <asp:history> server control), improved AJAX content linking support with permalinks, and additional JavaScript library improvements.
    • ASP.NET Dynamic Data Support: The ASP.NET 3.5 Extensions release will deliver new features that enable faster creation of data driven web sites.  It provides a rich scaffolding framework, and enables rapid data driven site development using both ASP.NET WebForms and ASP.NET MVC.
    • ASP.NET Silverlight Support: With the ASP.NET 3.5 Extensions release we'll deliver support for easily integrating Silverlight within your ASP.NET applications.  Included will be new controls that make it easy to integrate Silverlight video/media and interactive content within your sites.
    • ADO.NET Data Services: In parallel with the ASP.NET Extensions release we will also be releasing the ADO.NET Entity Framework.  This provides a new modeling framework that enables developers to define a conceptual model of a database schema that closely aligns to a real world view of the information.  We will also be shipping a new set of data services (codename "Astoria") that make it easy to expose REST based API endpoints from within your ASP.NET applications.

    Silverlight 2.0 Release

    Two months ago we shipped Silverlight 1.0 for Mac and Windows, and announced our plans to deliver Silverlight on Linux.  Silverlight 1.0 is focused on enabling rich media scenarios in a browser, and supports a JavaScript/AJAX programming model.

    Next year we will be releasing a major update of Silverlight that focuses on enabling rich Internet applications.  This release will include a cross-platform, cross-browser version of the .NET Framework, and will enable a rich .NET development platform in the browser.  Earlier this year we shipped an early Alpha containing some of the basic functionality of the release.  Our next public preview will add considerably to this feature set.  Some of the new .NET specific features in the next public Silverlight preview will include:

    • WPF UI Framework: The current Silverlight Alpha release only includes basic controls support and a managed API for UI drawing.  The next public Silverlight preview will add support for the higher level features of the WPF UI framework.  These include: the extensible control framework model, layout manager support, two-way data-binding support, and control template and skinning support.  The WPF UI Framework features in Silverlight will be a compatible subset of the WPF UI Framework features in last week's .NET Framework 3.5 release.

    • Rich Controls: Silverlight will deliver a rich set of controls that make building Rich Internet Applications much easier.  The next Silverlight preview release will add support for core form controls (textbox, checkbox, radiobutton, etc), built-in layout management controls (StackPanel, Grid, etc), common functionality controls (TabControl, Slider, ScrollViewer, ProgressBar, etc) and data manipulation controls (DataGrid, etc).

    • Rich Networking Support: Silverlight will deliver rich networking support.  The next Silverlight preview release will add support for REST, POX, RSS, and WS* communication.  It will also add support for cross domain network access (so that Silverlight clients can access resources and data from any trusted source on the web).

    • Rich Base Class Library Support: Silverlight will include a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc).  The next Silverlight preview release will also add built-in support for LINQ to XML and richer HTML DOM API integration.

    Previously we've been referring to this .NET-enabled Silverlight release as "Silverlight V1.1".  After stepping back and looking at all the new features in it (the above list is only a subset - there are many more we aren't sharing yet), we've realized that calling it a point release doesn't really reflect the true nature of it.  Consequently we have decided to change the name and refer to it as "Silverlight V2.0" going forward.

    We will be releasing a Beta of Silverlight 2.0 in Q1 of 2008.  This Beta will support a Go-Live license that enables developers to begin building and deploying Silverlight 2.0 applications.

    We will also be releasing a free Visual Studio 2008 tools update that provides great Silverlight 2.0 tools support within Visual Studio 2008, and enables developers to easily build Silverlight applications using any .NET language.  We will be supporting Silverlight development with both the Visual Studio 2008 Standard/Professional products, as well as with the free Visual Studio 2008 Express editions.

    I'm going to be starting a new blog tutorial series in a few weeks that discusses how to build Silverlight 2.0 applications, and show off the new features in more depth.  Stay tuned for more details soon.

    IIS 7.0

    Early next year we'll ship the final release of IIS 7.0 as part of the Windows Server 2008 release.  As I've blogged about in the past, IIS 7.0 is a major update of our web-server stack, and introduces a significantly new and improved extensibility, configuration and administration architecture. 

    One of the really cool things about IIS 7.0 is that it is all nicely integrated with the .NET Framework, and enables you to use any .NET language to extend and customize the server.  You can now easily do things in VB and C# that previously required writing a pretty gnarly C++ ISAPI.  The deployment, management and administration of web applications on the server is also now nicely unified across IIS and ASP.NET.

    We will also shortly begin sharing details of a new web application deployment framework for IIS that enables you to easily automate the deployment of web applications on either a single server or across a web farm of machines.  It will make it easy to version your web applications (including allowing you to quickly roll back to previous versions), as well as automatically provision them across multiple servers.  It also enables the full automation of deployment tasks (including via both command-line and PowerShell scripting APIs).  The combination of IIS7 with this web deployment framework will enable you to deploy and scale your ASP.NET server applications better than ever before.

    Summary

    Last week's VS 2008 and .NET 3.5 release was a huge step forward for .NET development.  The release not only delivered a ton of great new language, runtime and tool features, but even more importantly provided a really solid foundation that we'll be building upon in the months and years ahead.  Stay tuned to my blog for more details about each of the above releases.

    Hope this helps,

    Scott

  • October 25th Links: ASP.NET, ASP.NET AJAX, Visual Studio, Silverlight and IIS 7.0

    Here is the latest in my link-listing series.  Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past.

    ASP.NET

    • Cleanup Inactive Anonymous Users: ASP.NET 2.0 has support for an optional feature called "anonymous users" - which enables you to optionally track and store profile data for non-authenticated users visiting your sites (read K. Scott Allen's article here for more details on how this works).  Omar Al Zabir published this handy article that describes how to "clean up" this anonymous user data periodically to avoid storing it forever in your database.

    ASP.NET AJAX

    Visual Studio

    • Speed up Visual Studio 2005: Here are a bunch of useful suggestions for how you can speed up your VS 2005 IDE environment.  For other performance suggestions, please review my previous blog posts here and here.

    • SQL Database Publishing Wizard Now in VS 2008: One of the post-Beta2 features that we are adding for the final VS 2008 release is the inclusion of a SQL database publishing wizard inside Visual Studio.  This will be supported in both the free Visual Web Developer Express edition as well as the full Visual Studio, and provides an easy way to script out your database schema and data to .SQL files.  You can then copy these files to a remote hoster to deploy a database.  You can learn more about how this works from my earlier posts here and here which describes how to use a previous standalone tool with this functionality (all of this functionality is now built-in to VS 2008).

    • Convert Selected Text to a Label: Fons Sonnemans has a nice article that demonstrates a cool macro that can be used to automatically convert literal text in your .aspx files to a <asp:label> control.  A neat shortcut.

    Silverlight

    • Building Silverlight Application using .NET MIX UK Videos: The videos from the recent MIX UK conference are now live on the web and can be watched (for free) by anyone.  If you are interested in Silverlight I recommend watching my Building Silverlight Application using .NET (Part 1 and 2) talks.  You can download the slides + samples for my talks here

    • Silverlight Kids Doodler Sample: David Anson has published a neat sample that demonstrates how to build a neat Paint program in Silverlight.  Ideal for small children. :-)

    • Great Silverlight Tutorials: Gerard Leblanc has a great blog, and publishes regular blog posts on Silverlight.  Check out this list of some of some of his tutorials.

    IIS 7.0

    • Using LINQ with Microsoft.Web.Administration: Carlos from the IIS7 dev team has a really cool blog post that shows how you can use LINQ with .NET 3.5 to easily query and manipulate the new web server administration API introduced with IIS7.  For more information on this new API, you can also read an old post of mine here.

    Hope this helps,

    Scott

  • Public Hotfix Patch Available for Debugging ASP.NET on IIS7

    People who use VS 2005 to debug ASP.NET applications running in IIS7 on Windows Vista can encounter one of the following error messages when they press F5 to auto-attach the debugger in the IDE:

    • "An authentication error occurred while communicating with the web server."
    • "Debugging failed because integrated Windows authentication is not enabled."
    • "Authentication error occurred while communicating with the web server.  Try disabling 'Digest authentication'"

    The above errors occur because of the way that VS 2005 looks up the Process ID of the IIS7 worker process that ASP.NET is running within.  Specifically, when you use F5 to "auto attach" the debugger with Visual Studio it sends an HTTP request to ASP.NET using Windows Authentication to retrieve the worker process details.  This works fine if you have Windows Authentication enabled on your web-server, and are using Windows Authentication as the primary authentication method for your web application.  It runs into problems, though, in a couple of circumstances:

    1. If you have forms-auth enabled in ASP.NET and are running in "integrated mode" on the IIS7 web-server.  This ends up blocking the process handler.
    2. If you don't have the windows authentication module installed on your web-server (it is now an optional component).
    3. If you are running on Windows Vista Home (which doesn't support the windows authentication module).

    Patch Download Available

    To fix the above cases which block F5 "auto-attaching" from working, we recently released a public hotfix for Visual Studio 2005.  It addresses each of the above problem causes.  You can download the hotfix patch for free here.  Once you install it, your Visual Studio F5 auto-attach behavior will work just fine.

    You can read more about the patch and issues it fixes in the KB article here, and the blog posts here and here.

    If you have any problems installing the patch or find that you still see issues after you install it, you'll want to contact Microsoft product support for assistance and they'll help debug it further.  Calls to Microsoft Product Support are free if they are related to a product bug (either a QFE HotFix request or a product bug you are running into).  You can find details on how to contact Microsoft product support on this page (it allows you to lookup the local phone number to use by country).

    How to Manually Attach a Debugger to a Process

    I have helped a few people workaround this issue before the patch was available.  One of the things I realized in doing so was that a lot of developers don't realize all of the options that are available when debugging applications, and the different ways that you can use Visual Studio to debug a process/application.

    When you press F5 within Visual Studio (the Debug->Start Debugging menu item) you are telling Visual Studio to start up the application and automatically attach the debugger to it.  An alternative approach that you can also use to debug an already running application is to use the "Debug->Attach to Process..." menu item. 

    When you select "Debug->Attach to Process..." it will bring up a dialog that shows you the running processes on your computer (you can also type in the IP address of a remote computer to debug):

    If you want to debug an ASP.NET application running using IIS, make sure to select the "Show processes in all sessions" checkbox (since IIS runs as a service on Windows and not under your local account).  You should then find w3wp.exe worker processes listed (which is the name of the IIS worker processes on IIS6 and IIS7). 

    Double clicking on any process will cause Visual Studio to attach the debugger to it - at which point all breakpoints you have set will fire and you can debug a process just like you would by launching it with F5.  This works for both web applications and client applications, and can be very useful when you already have an application running.  Note that you no longer have to attach this way if you have the hotfix above installed - but it is a useful approach to know nonetheless.

    Hope this helps,

    Scott

Powered by Community Server, by Telligent Systems
'