Core.NET Live!

Designed for .NET developers “in the trenches”, our Core .NET conference at VSLive! focuses on day-to-day development with the .NET Framework. To this end, Richard and Rocky have selected content that lets you implement the Best Practices in .NET 2.0 (specifically, Generics, Windows Form, and ADO.NET), while showing you how to leverage newer technologies like .NET 3.x and Linq.

This is all the more challenging with the release of VS2008 and .NET 3.5. We view these as an evolution of the .NET Platform, as VS2008 now integrates support for .NET 3.0 (WPF, WCF and Workflow) into a single IDE (without the requirement of installing additional tools). Plus, VS2008 brings Language Integrated Query (LINQ) into the picture for use in all 3 (or more) tiers. And VS2008 gives developers the option of targeting specific Framework versions whether developing libraries or applications, meaning only one version of VS is required for .NET 2.0, 3.0 or 3.5.

Whether you’re using .NET 1.x, 2.0 or 3.x, we know that you need to make the most of the technologies you’re using today. At the same time, we appreciate that you need to plan for the future so you can most effectively extend your current capabilities with those provided by Linq, Visual Studio 2008, Silverlight and other new or future technologies.

To this end, Rocky and Richard have created a track that strives to make sense of what otherwise might seem to be a daunting set of disparate technologies, and answer questions like:

  • How do I incorporate WPF into my existing WinForms application?
  • What are the Best Practices for leveraging .NET 2.0 features like Generics?
  • Should I replace my .ASMX or Remoting Services with WCF? If I do, will I break my clients?
  • What are the consequences of using the SQL Server-specific provider in ADO.NET 2.0?
  • If my applications are still .NET 2.0-specific, should I bother to upgrade to VS2008?
  • I don’t write data access or even business layer code: should I even bother with Linq?

If these sound like questions you’re asking, don’t look elsewhere: come to the Core .NET track and get answers!

Core.NETLive!: Track 1 – Wednesday, May 14, 2008

VC4Introduction to Silverlight Programming, Introductory
Bradley Bartz
9:45 a.m.
A complete introduction to coding Silverlight applications using Visual Studio 2008, including declarative programming, storyboards, XAML, event handling, drag and drop, media and so forth. This presentation is very focused on demonstrations of creating simple but illustrative examples.

VC9Lower Maintenance Costs While Increasing Productivity:
LINQ Applied to an N-Tier World,
Intermediate
Richard Hale Shaw
11:15 a.m.
Is it possible to lower your maintenance costs by making your code more readable and understandable? Can you really replace complex algorithms with English-like pseudo-code that more readily describes your intent, while producing high-quality, efficient-to-execute code that's easy to Debug? Is it easier to build abstraction layers that are type-safe and flexible, but easy to implement, extend—and comprehend? Can you do all this while initially writing the code so that it's easy-to-maintain from the beginning? And can you increase developer productivity (getting far more done with easier-to-debug, more expressive—but fewer lines of—code)—and do so in ANY tier? In a word, the answer is: yes.

Language Integrated Query (LINQ) is decidedly NOT a data access mechanism: it's a means of working with objects of any type regardless of origin, and gives you a uniform way of doing so whether an object's data originates on the Web, in an XML document, in a database or an ordinary sequence/collection. Coupled with the features of C# 3.0, LINQ makes it possible for .NET developers to create even more powerful, flexible software abstractions and implementations with code that's even easier-to-read, debug and maintain. Further, LINQ can be applied to Smart Clients, Silverlight 1.1 clients, WCF connecting tissue, and middle-tier business logic (as well as back-end data abstraction layers).

But LINQ doesn't come without a price: a great deal of how you leverage it is in developing an idiomatic understanding of its features (i.e., only when you learn the idiom will you tap into its power. In this session, Richard will examine how to apply LINQ in multiple tiers, using a variety of Implementation Patterns, and show you how to leverage LINQ to increase your productivity while lowering your maintenance costs.

VC14Creating Custom WCF Behaviors, Advanced Blackbelt Virtual Track
Rob Daigneau
2:30 p.m.
Custom behaviors provide a mechanism to modify the WCF runtime execution at the proxy (i.e., client) or dispatcher (i.e., service) via attributes, configurations, and even programmatic means. This powerful technique may be used to inject common and “cross-cutting” logic upon Services, Contracts, Endpoints, and Operations, which in turn yields limitless possibilities.

In this session, we will explore how WCF custom behaviors might be leveraged to implement a concept similar to Aspects. You'll learn how this powerful feature can be used to apply cross-cutting logic to your services in a manner that is both simple to understand and implement. You'll also see that the concepts of SOA, OOP, and AOP (i.e., Aspect-Oriented Programming) should be thought of as being complementary rather than competing.

VC19Investigating LINQ over XML, Introductory
Kenneth Getz
4:00 p.m.
LINQ adds many new features for Visual Studio 2008 developers, including strong support for working with XML data. In this session, you'll learn about working with XML data using LINQ, including creating, querying, modifying, and validating XML data, for both Visual Basic and C#. You'll also learn to use LINQ over XML to transform XML data (without using XSLT). Working with XML data could be a real pain before the addition of LINQ over XML, and this session gets you started using this powerful new technology.

Core.NETLive!: Track 2 – Wednesday, May 14, 2008

VC5Using and Extending the Typed DataSet and TableAdapter, Intermediate Best Practices Virtual Track
Jackie Goldstein
9:45 a.m.
Are you using the DataSet Designer in Visual Studio 2005 / 2008 to design your data access code using Typed DataSets and Table Adapters? You should be - because doing so allows you to build better data access code much faster. This session will be mainly demos that cover both the basic uses of these tools and objects, as well as techniques to extend the standard classes to meet your own specific needs. We will also talk about some of the improvements in Visual Studio 2008.

VC10More Best Kept Secrets in .NET, Intermediate
Deborah Kurata
11:15 a.m.
Deborah Kurata has been sharing her Visual Studio and .NET Framework secrets with developers for the past several years. In this new installment, she covers more lesser-known features to help you become more productive with your development tools, including some VS 2008 features.

This session covers how to improve your productivity by building your own project and project-item templates. It covers lesser known code navigation features and keywords, such as Using and IsNullOrEmpty. It provides details on using nullable types and on building queries from within Visual Studio. Finally, it covers how to perform unit testing directly from within Visual Studio.

VC15VS Tools and Techniques for Distributed Data Access in VS 2008, Intermediate
Jackie Goldstein
2:30 p.m.
This session will discuss several challenges facing developers developing distributed data access applications. These issues include hierarchical updates, use of VS tools/wizards to generate truly N-tier applications, separation of data entity and data access objects, and local data caching. We will demonstrate the tools and techniques can be used in Visual Studio 2008 and the benefits that they bring.

VC20Generics, Anonymous Methods, and Delegates, Intermediate Best Practices Virtual Track
Deborah Kurata
4:00 p.m.
Generics, anonymous methods, and delegates, oh my! Come and learn all about these very important concepts. This session is both for developers who don’t know what these things are and for those who want to expand their use of these techniques.

This session begins with a brief introduction to generics. It then dives deep into using generics in both VB and in C#, including use of anonymous methods, lambda expressions and delegates to expand on generic functionality. Finally, it covers how to use reflection with generic types.


Core.NETLive!: Track 1 – Thursday, May 15, 2008

VC24C# 3.0 Under-the-Hood: A Better C# (or C++) than C#?, Intermediate
Richard Hale Shaw
8:30 a.m.
Have you ever felt just a little bit hemmed in by C#? Ever thought that there has to be an easier, simpler way to express complex algorithms, or a better way to create utility functions without having to use awkward static-method calls? Maybe you're just a little bit tired of having to define a new data type every time you want to process data? Or you found it annoying that every type needs yet another constructor you didn't design into it? Perhaps you thought that initializing objects and collections could be a bit easier—or that property definitions could be more succinct? Or maybe you wanted to use anonymous methods, but they were just a bit too ugly and unreadable?

Not any more. In this session, Richard will demonstrate the new features of C# 3.0, both as powerful means of leveraging LINQ, but also as ways of being more productive with C# without LINQ. You'll learn about object and collection initializers, automatic property definitions, lambda expressions and extension methods. We'll cover when you should (and shouldn't) use these features, and how the compiler does so much work for you under-the-hood. And along the way, you'll find that writing C# code has never been easier, and that just as C# was always intended as a Better C++, now C# 3.0 is a Better C#.

VC29Windows Presentation Foundation (WPF): Build a WPF Application in an Hour, Introductory
Kenneth Getz
10:00 a.m.
WPF makes it possible to build rich graphical user interfaces, but it doesn't necessarily make it easy. Getting your head around where to start, and how to display information, can be a daunting task. This session gets you started with
WPF and demonstrates creating a working video-player application, using data binding, templates, and more. Not the typical first introduction to WPF, this session actually shows you features you can use now to get started building WPF applications.

VC34LINQ to SQL (DLINQ) for ADO.NET Developers, Intermediate Best Practices Virtual Track
Richard Hale Shaw
11:30 a.m.
ADO.NET Developers have long faced an unfair set of choices: use the DataReader (equally known for its speed as for the cumbersome ways in which you have to write code to use it ), or use the Typed DataSet, which offers strong type-safety but can be a performance sloth and memory hog. Not any more.

DLINQ (also known by its official name, LINQ to SQL) offers you strong typing, great performance and the ability to access your data in a far more intuitive, Object-Oriented fashion than you could with the DataReader or the DataSet. Will you find that DLINQ is a Better DataSet, without performance issues? How do you get started with it, and what are the Best Practices for using it? In this session, Richard will show you how. We'll start with a brief overview of DLINQ mechanics and quickly move under-the-covers, calling Stored Procedures, creating wrapper classes and more. If you're largely targeting Microsoft SQL Server or SQL Express (now Compact Edition), you'll find this may be the Data-Access method to invest in from now on.

VC39Exposing Workflows as Services through WCF, Advanced Blackbelt Virtual Track
Bayer White
2:45p.m.
Workflows can be built specifically within applications, but the real power is having workflows exposed to more than one application at a time. This trend is obvious within the new .NET Framework 3.5 which releases some new WF Activities, but this concept can also be done in .NET 3.0. By combining WF and WCF, services now gain all of the benefits of workflows. Services can now maintain state for long periods of time. Services can also be designed visually by using the workflow designer, and have a flexible flow pattern.

This session will show how to design and build workflows that are exposed as WCF services using the 3.0 and 3.5 .NET Framework. A basic understanding of Windows Workflow Foundation and Windows Communication Foundation are required.

VC44Have It Your Way – REST and SOAP in WCF Solutions, Introductory
Rob Daigneau
4:15 p.m.
Two camps have risen in the SOA world, the RESTafarians, and the SOAP/WSDL-ites. Each has passionately argued that they are the one true path to SOA. Now they need battle no longer, for in .NET 3.5 they have been brought together into the same happy WCF family.

In this session you’ll learn what REST is, when to use it vs. SOAP/WSDL, and how to do it. We’ll also touch upon the new designers in Visual Studio that will surely make your life easier when building either type of service.


Core.NETLive!: Track 2 – Thursday, May 15, 2008

VC25Adding Remote Authentication, Role Management, and Profiles to Windows Applications, Intermediate
Robert Green
8:30 a.m.
Today, you can log into a Web site such as Amazon and the site knows who you are and what your preferences are. They are stored on the server and you are who you are regardless of what computer you use. Client Application Services gives you the ability to add this same functionality to your Windows applications by using client service providers for login, roles and profiles. These client providers use Web services to talk to the corresponding ASP.NET providers. This session will show you how to add remote login, roles and profiles to client applications. You¹ll see how to build Web services to use the default providers. You¹ll also see how to build your own providers.

VC30Creating Advanced Custom Windows Forms Controls, Intermediate Blackbelt Virtual Track
Walt Ritscher
10:00 a.m.
Creating your own controls is a great way to augment your UI development. There's more to creating user controls, however, than dropping a few constituent controls on a designer and crafting a few properties or methods. This session illustrates the techniques you need to elevate your user controls to the next level. Since other developers use your control, you need a firm grasp on how to make your control interact with the Visual Studio Forms designer. Learn how to decorate your control with design-time adornments (example: sizing and rotation handles). We'll look at several powerful tools—Property Browser integration, Extender Property Providers, Type Converters, Designer Verbs, Custom Designers and UI Type Editors—that make your control easy to use, work effectively in the Visual Studio IDE, and also look professional. In addition, you'll see how to support data-binding to your control and learn how to debug your control effectively.

VC35Embedding Presence in Your Applications, Intermediate
Michael Dunn
11:30 a.m.
Have you ever wondered how to display presence in your applications, like SharePoint and Office does? This session will show you how to use the Microsoft Office Communicator 2007 API to display presence in your existing application. Presence is a very powerful business tool as it allows your users to effectively communicate with each other by knowing when that user is available. Why not show it in your business application?

VC40Codeplex's Greatest Hits, Intermediate
Jeffrey McManus
2:45 p.m.
Microsoft's Codeplex site (www.codeplex.com) is an amazing developer resource with projects and source code that can make your life easier. But how can you figure out what's new, what's good, and how to get started? Jeffrey has pored through the site picking out the most useful and interesting projects. Join him in this session, where he’ll provide new technical code examples and sample applications using the technology found on the site.

VC45Doing Something Useful with Enterprise Library 3.0, Advanced Blackbelt Virtual Track
Benjamin Day
4:15 p.m.
There are so many common problems that we run in to when we write applications—logging, exception handling, validation, data access, etc. Unfortunately, many of us end up writing and re-writing the same code over and over again in each application. Sure, it might be fun to write this code but if someone’s already done it, should we keep re-writing it? Enter P&P’s Enterprise Library. Enterprise Library aims to solve these common problems with standardized code so that you can focus on implementing your “real business problem”. There so much stuff in Enterprise Library, and it can be difficult to know how and where to start using it.

In this session, Ben will show you what some of the big pieces are and how to incorporate them into your application’s architecture including what “Policy Injection” is and why you should care.