ASPLive!
Track 1 – Tuesday, March 27
Creating a Custom ASP.NET DataSource Control, Advanced
Rocky Lhotka
10:30 a.m.
The new data binding in ASP.NET 2.0 is very powerful. Unfortunately the pre-built data source controls may not always meet your needs. Learn how to create a fully functional ASP.NET DataSource control, including complete support for both runtime and design time behaviors.
Building ASP.NET Database Applications with Nhibernate, Intermediate
Benjamin Day
11:45 a.m.
The problem: our applications use objects, but our databases don't. Why isn't there an easy way for applications to use objects, but store their contents in a database with a minimum of effort required to transition between them? Enter NHibernate: an open-source, object-relational persistence framework that uses XML to map classes and properties (in your program) to tables and columns (in your database). Once you write the mappings, NHibernate can generate the database code and SQL necessary to save and retrieve your objects.
In this session, Ben will discuss the fundamentals of NHibernate and walk you through the process of using NHibernate to create a database-driven ASP.NET web application.
ASP.NET 2.0's Data Binding Features, Intermediate
Ken Getz
3:15 p.m.
ASP.NET 2.0 makes it incredibly easy to bind user interface to data. Thanks to the new SqlDataSource, ObjectDataSource, XmlDataSource (and more) data source controls, you can easily display and modify data without writing a single line of code. If you need to modify the built-in behavior, of course, you can react to any of the many events these data sources provide. This session focuses on introducing the data source controls, along with the new data-bound controls, including the GridView, DetailsView, and FormView controls.
The Simplest Thing That Works Using BLINQ, Intermediate
Mark Michaelis
4:30 p.m.
Microsoft offers best of bread development tools for robust, well architected, enterprise ready, business critical websites and applications, but each of these qualities comes at some cost - a cost in terms of complexity, time to market, and expertise. These are costs which are frequently overkill for what is really needed in the short term. To address the need to create simple applications in a lightning fast manner Microsoft has created BLINQ. Developers can point BLINQ at an SQL Server database and, at virtually the click of a button, have BLINQ generate ASP.NET websites that perform CRUD operations on the database. Attend this session to learn how to start websites with BLINQ, what it creates, and how to customize them for your needs.
ASP.NET 2 Gridview Deep Dive, Intermediate
Renato Haddad
5:45 p.m.
This session will explore usage of the GridView Control in ASP.NET 2.0 applications. It will examine the GridView Control in terms of its customization, formatting, data source management, data editing, and templates. It will also examine the relationship between the GridView Control and other ASP.NET 2.0 controls.
Track 2 – Tuesday, March 27
MS Ajax: Under the Hood, Intermediate
Scott Cate
10:30 a.m.
MS Ajax brings an object oriented approach to JavaScript. This session focuses on how to use those object oriented ideas. Inheritance, Interfaces, Enums and Delegates in JavaScript. Impossible you say? Not anymore; and this session will show you the do's and don't of MS Ajax OO programming JavaScript.
Managing Users with ASP.NET 2.0's Membership Features, Intermediate
Ken Getz
11:45 a.m.
Many Web sites need to track users, allowing authentication and handling user rights. ASP.NET 2.0 makes this as simple as possible, providing a suite of server controls that manage the details for you. You can use these controls, or can program against the lower-level API (which the controls use, as well). This session demonstrates how to use the controls, how to programmatically provide the same features as the controls, and introduces creating your own custom provider so you can store the membership data in any data store.
Debugging MS Ajax, Intermediate
Scott Cate
3:15 p.m.
Debugging is by far the most helpful skill used in programming. A nice view into the application you've written, while it is running. Service Side debugging is amazingly simple. Client side debugging is not so simple. Watching variables, values, JSON, responses, async calls, and callbacks are all desirable, but not straight forward debugging techniques. The way your JavaScript is written can determine the available debugging options. This session is a tips/tricks session all around client side MS Ajax debugging.
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax Library
Darren Sim
4:30 p.m.
In this presentation, Darren will share with the audience tips & tricks as well as mythologies on customizing the MSF in VSTS to help teams manage multi-web development projects. Including a lot of source code, accompanying media, such as Flash, WPF/E, Images, etc. This session will help teams find a clear solution to their daily cries & woes of “where’s that GIF? Oh…Javascript Changed? Where’s the new version?”
Working with Office 2007 Documents on the Server, Intermediate
Robert Green
5:45 p.m.
Office 2007 and its open XML file formats provide the best solution to date for a problem that has plagued Web developers for years. How do you work with Word and Excel documents on the server? In Office 2007, you can read, create and modify documents using XML, without the need to navigate through the Word and Excel object models. Working with documents is fast and scales. This session will show you what you need to know to work with Office documents in your Web solutions.
Track 3 – Tuesday, March 27
ASP.NET 2.0 Migration Woes, Intermediate
Robert Boedigheimer
10:30 a.m.
Have you migrated your ASP.NET 1.x web sites to ASP.NET 2.0? There are several compatibility changes in .NET 2.0 that had a large impact on our ability to run 100+ existing web sites with ASP.NET 2.0. Come and see how changes to dataset serialization can impact existing code, and how changes to ASP.NET control naming can break client side Javascript functions and 3rd party products like automated testing tools. Learn how ASP.NET matches .aspx control definitions to code behind declarations that can lead to "ambiguous match" exceptions when the markup is compiled. Don't miss this session if you have a large investment in ASP.NET 1.x that you want to quickly move to ASP.NET 2.0 and you want to learn practical techniques and work arounds.
Anatomy of a Real Live ASP.Net 2.0 Web Site, Advanced
Robert Daigneau
11:45 a.m.
If you’re a developer, you probably like to take things apart to see how they work. There’s no better way to learn languages and concepts than to see these things in a real product, but how often does one get that opportunity? In this session you’ll see how a real web site was developed using .Net 2.0 and Visual Studio 2005. We’ll cover a broad range of topics, from how various .Net components and classes are used, to the architecture and design patterns used.
Understanding Multi-threading
Michiel Van Otegem
3:15 a.m.
If you're like most web developers, you've never stopped to think twice about the fact that ASP.NET is a multi-threaded environment. If you have thought twice about it, you may have had the following questions: "How does ASP.NET's multi-threading nature benefit me?" "What pitfalls should I worry about?" And "How do I avoid multi-threading issues?" This session answers those questions, and in the process introduces you to the multi-threading basics.
IIS 7 for Web Developers, Intermediate
Robert Boedigheimer
4:30 p.m.
Effective web developers understand not only how pages are created but how they are executed. IIS 7 provides many new features that will be critical for ASP.NET developers. IIS 7 has been modularized so functions can be removed or extended as needed. Learn how extend IIS with ASP.NET, and how the pipelines have been integrated which allows Forms Authenticaiton to be applied to all files including images, documents, and HTML files. Use failed request tracing to not only troubleshoot problems but to also learn how requests are executed. Find detailed information about how web sites are processing requests, such as which requests are currently executing.
Beyond Web 2.0: Web-Scale Computing, building low-cost, scalable apps with web services
Mike Culver
5:45 p.m.
What’s possible beyond Web 2.0? Innovation continues at a mind-bending pace and this presentation will showcase some thought-provoking new directions that Web Services are headed in. For example, what if computers could programmatically make request for humans to perform tasks?
Mike Culver, evangelist for Amazon Web Services, will provide an overview of Amazon Web Services and feature a code demonstration showing how .NET developers are able to easily build managed clients for these services. Highlights will include a code sample that shows how to create a C# ASP.NET Client to use Amazon Simple Storage (a.k.a. Amazon S3) as a virtual storage device with a Windows Explorer-ish front end. Culver will also demonstrate a Web Service named Mechanical Turk that allows computers to make requests of people.
Track 1 – Wednesday, March 28
Understanding the Update Panel, Intermediate
Scott Cate
10:30 a.m.
This session dispels the magic behind the update panel. Getting started with the Update Panel is easy. Understanding how the update panel works is another story. How does the - DoPostBack get hijacked? How are the results sent back to the client, and inserted in the page? What happens to ViewState? How do triggers work with the Update Panel? All these questions will be answered.
Building a Custom Membership and Role Provider, Intermediate
Chris Franz
11:45 a.m.
The 2.0 .NET Framework introduced the concepts of providers which encapsulate common functionality. Membership and Role providers encapsulate the common tasks of managing users and rights within your ASP.NET website. Although Microsoft provides a very complete SQL Server implementation of these providers, what if you have an existing database schema or you are using a different database server? This session will discuss the properties and methods of these providers and demonstrate how to create new providers. Examples will include creating a provider for an existing schema, and creating a provider which connects to another database server.
Build a 3-Tier Data Driven Website, Introductory
Chris Franz
3:15 p.m.
Many developers have the need to store, manipulate and display data to users. This is a very common practice in the development of Websites. ASP.NET 2.0 has powerful data access components which simplify the presentation and manipulation of data. Using a 3-Tier approach (data access layer (DAL), business logic layer (BLL) and presentation layer) allows for more manageable and portable code. This session provides an introduction to implementing a 3-Tier data driven web site. We will create a data access layer using an existing set of tables. A business logic layer will be added to ensure that the data is manipulated according to defined business rules. Finally we will use the tools within ASP.NET to display, filter, sort and manipulate the data.
Voice Mash-ups: Making Web 2.0 More Personal & Profitable, Intermediate
Kevin Nethercott
4:30 p.m.
Web 2.0 is about to get amped up with mash-ups of VoIP and web services leveraging the .NET Framework that make online interactions more personal and profitable. Take social networking, and imagine a family website where the grandparents’ wedding photo includes Grandpa’s voice telling the story of how he met Grandma – and where visitors can voice their responses or recollections, creating an oral history online. Similarly VoIP can enhance interactivity and profitability for Web 2.0 commerce. For instance, a real estate site can allow buyers and sellers to enter information on the website. When there’s a match between the buyer’s needs and a seller’s home, an automated voice message calls the buyer with details. If interested, the buyer can simply press “1” to activate a click-to-call connection with the realtor.
This session will provide an overview of new applications made possible by VoIPweb services mash-ups, demonstrations of commercial mash-ups leveraging the .NET Framework that are in use today, and a demonstration on how to create your own mash-ups in as little as 15 minutes.
Serious ASP.NET WebPart Customization, Advanced
Benjamin Day
5:45 p.m.
Ever tried to customize how your ASP.NET WebParts look? Sure, you can change colors and fonts, but what if you want to change the layout? What if you need to put the WebPartVerb menu in a different place? That goes beyond simple tweaking; now you need custom WebPartChrome. In this session, Ben will do a deep-dive on the ASP.NET WebParts architecture and show you how to seriously customize your WebParts by creating your own WebPartChrome and WebPartZone, all without losing the benefits of personalization.
Track 2 – Wednesday, March 28
Designing for User Interface Testability, Advanced
Benjamin Day
10:30 a.m.
Do you unit test your user interfaces? Probably not. Windows Forms and ASP.NET pages aren’t easy to control from VSTS or NUnit unit tests and that means low code coverage and lots of testing by hand. Bug fixes are harder, too.
You can minimize this pain by designing for testability.
In this session, Ben will show you a testability pattern for your Windows and ASP.NET user interfaces that will increase testability, improve code coverage, and – as a side effect -- simplify bug fixes, refactoring, and maintenance.
Move over Flash, here Comes WPFe – Lush UI for ASP.NET Developers, Intermediate
Walt Ritscher
11:45 a.m.
Web developers have to learn a lot of different tools and platforms. Flash applications, though common on websites, are rarely created by ASP.NET teams. Microsoft is preparing a new Flash-like engine that will change the way you think about web development forever. Imagine a framework that runs on Mac, Linux and Windows, is programmed in your favorite .Net language, and can do things you’d never dream of doing HTML or ASP.NET - That’s WPFe. It combines the best parts of Windows Presentation Foundation into an easily distributable platform. You will learn the basics of WPFe, how to control user interaction via WPF events and controls, understand the animation and storyboard model, and explore the vast graphics engine and unified font universe. Plus, learn the secret Javascript tricks to interact with your website.
Programming MySQL for .NET Developers, Intermediate
Jeffrey McManus
3:15 p.m
MySQL is the relational database behind some of the largest web sites in the world. For years, MySQL ran well on Unix and not-so-great on Windows. Today, MySQL has come of age, providing .NET developers and easy and inexpensive interface to powerful data storage. In this session, I'll provide a technical introduction to MySQL specifically for .NET developers, with real-world code examples and tips and tricks.
Identity via Windows Cardspace - Part 1 Intermediate
Mark Michaelis
4:30 p.m.
Windows Cardspace is the electronic solution to the identity we carry around in our wallet every day - allowing us to board a plane, purchase a car, or log-on to email. We begin this session with a demo of Windows Cardspace from the end user perspective. This drives our investigation with a look at the requirements that the user cares about; requirements in regards to their identity information, and controlling who accesses the identity information. From there, we consider what it takes to incorporate Windows Cardspace into your own application, how to incorporate cardspace authentication, establish an identity provider, associate information with a card, identify where information is stored, and revoking cards. Attend this session and Part 2 for a complete overview of Windows Cardspace and how to incorporate it into your own website or application.
Identity via Windows Cardspace - Part 2 Intermediate
Mark Michaelis
5:45 p.m.
Windows Cardspace is the electronic solution to the identity we carry around in our wallet every day - allowing us to board a plane, purchase a car, or log-on to email. We begin this session with a demo of Windows Cardspace from the end user perspective. This drives our investigation with a look at the requirements that the user cares about; requirements in regards to their identity information, and controlling who accesses the identity information. From there, we consider what it takes to incorporate Windows Cardspace into your own application, how to incorporate cardspace authentication, establish an identity provider, associate information with a card, identify where information is stored, and revoking cards. Attend this session and Part 2 for a complete overview of Windows Cardspace and how to incorporate it into your own website or application.
Track 3 – Wednesday, March 28
Configuration Files for ASP.NET 2.0, Intermediate
Robert Boedigheimer
10:30 a.m.
Review the settings from the machine.config and web.config files. Use encryption features in ASP.NET 2.0 to protect sections of the configuration files such as connection strings. Learn how to lockdown sections in the global web.config and machine.config so they cannot be overridden locally by web sites to enforce standards and improve site stability. See how ASP.NET 2.0 moved default settings out of the global configuration files to improve performance.
Create Scalable Apps with Asynchronous Processing
Michiel Van Otegem
11:45 p.m.
When an application doesn't scale well, the problem isn't necessarily in the code that provides the functionality. More likely, there is some resource (web service, database etc.) causing threads to wait, saturating the ASP.NET thread pool. If that happens, your app is actually doing nothing, but still it can't process additional request. The answer to this problem: asynchronous processing. With asynchronous processing you can free thread pool threads and continue to handle incoming requests. This session takes a look at how the ASP.NET thread pool does its job and then shows you how to create a better scalable app with asynchronous pages, asynchronous handlers, and asynchronous modules.
Construct Reusable UI with WebControls and Designers, Introductory
Walt Ritscher
3:15 p.m.
ASP.NET User controls are simple to build and deploy. You’ve probably created plenty of .ascx controls in your existing projects. Would you like to learn how to take controls to the next level? The journey begins with an introduction to the UserControls’ brawny cousin --WebControl. Soon you be learning how to control the Visual Studio design-time experience by adding Smart Tags and Auto Formatting to your control. Next we’ll demystify how controls like the Login or Repeater can utilize template tags (example HeaderTemplate). Lastly you learn how to easily inject script and resources into the hosting page.
Exploiting the ASP.NET Adapter Architecture, Intermediate
Robert Boedigheimer
4:30 p.m.
ASP.NET 2.0 provides the ability to override control and page rendering in order to tailor the output for specific browsers, or provide new behaviors. A recent example of the power of this architecture is the "ASP.NET 2.0 CSS Friendly Control Adapters 1.0" provided by Microsoft that can be used to render existing ASP.NET controls with CSS rather than tables (such as the Menu control). Another great use of adapters is to use session storage for viewstate rather than a hidden client field saving bandwidth and improving performance, which can be easily accomplished with a custom page adapter. Discover how to exploit adapters on your web site, and how to use alternative rendering or behavior without abandoning existing controls!
Real World Exception Handling in ASP.NET, Intermediate
Walt Ritscher
5:45 p.m.
Any competent developer knows how to employ try-catch-finally blocks in their code. But writing reasonable exception handling in ASP.NET applications involves a lot of other skills and considerations. We’ll discuss the tradeoffs with using the Microsoft Enterprise Library exception framework vs. using the alternate ELMAH system or writing your own. You’ll see how to create global exception loggers, build HttpHandlers and HttpModules that effectively manage unhandled errors and create Windows and web-based admin tools to view the errors. We’ll also examine the best way to generate useful error pages. Last, we’ll see how to construct your framework so that is easy to add to any existing website.
