Tag Archives: .NET Framework 3.5

Tanagram Partners: Making multi-touch easier with touch.codeplex.com

digg_url = “http://blogs.msdn.com/devkeydet/archive/2010/04/23/tanagram-partners-making-multi-touch-easier-with-touch-codeplex-com.aspx”;digg_title = “Tanagram Partners: Making multi-touch easier with touch.codeplex.com”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

Our Ch.9 Interview with Tanagram Partners on http://touch.codeplex.com was published.  Check it out!

http://bit.ly/Ch9TanagramTouch

“The APIs in WPF4 plus the Surface Toolkit for Windows Touch make building common touch scenarios easy. However, implementing many of the same touch scenarios using WPF3.5SP1 or Silverlight 3/4 involves writing a fair bit more code. Furthermore, the touch APIs across WPF4, WPF3.5SP1, and Silverlight are different.

The goal of this project is to simplify building common touch scenarios when using WPF 3.5 SP1 or Silverlight 3/4 by using Expression Blend Behaviors to provide a consistent way to implement these scenarios across WPF & Silverlight. Expression Blend Behaviors can be used within Visual Studio without a dependency on Expression Blend by downloading the Expression Blend 3 SDK. You can also find more Expression Blend Behaviors at http://expressionblend.codeplex.com/ and http://tinyurl.com/ExpressionGalleryBehaviors.

Go to http://touch.codeplex.com/ to learn more about this project.  Go to http://tanagrampartners.com/ to learn more about Tanagram Partners.”

Bing Maps 3D, WPF, and Windows 7 MultiTouch

Globe Screenshot

Have you seen the Microsoft Surface Globe application in the Microsoft Touch Pack for Windows 7?  There are plenty of videos of the app in action on YouTube: http://tinyurl.com/YouTubeSurfaceGlobe.

Would you like to build an app like this yourself?  Thanks to InfoStrat.VE, you can! Josh Blake just announced the R2 release of InfoStrat.VE.  Amongst other improvements, it includes support for the same touch interaction on Windows 7 you have available in the Microsoft Surface Globe app.  Full details on Josh’s blog:

http://nui.joshland.org/2010/01/infostratve-release-2-is-now-up.html

Integrating Virtual Earth 3D into WPF and Surface Applications for Mere Mortals

I just published a Channel 9 interview with Josh Wall and Josh Blake from InfoStrat about their Windows Presentation Foundation (WPF) and Surface controls that make integrating Virtual Earth 3D a breeze.  Check it out:

http://tinyurl.com/Ch9InfoStratVE

Virtual Earth 3D has many applications, but until recently has only been practical on the web with a JavaScript interface.  WPF applications could not use the full potential of Virtual Earth 3D without requiring a WPF wizard and some XAML magic due to Win32 interop limitations.

Information Strategies (InfoStrat) has the solution.  They created a WPF / Surface control, InfoStrat.VE, and are sharing with the community on CodePlex.  This control provides a WPF interface for the Virtual Earth 3D control, complete with data binding for camera control and WPF-based pushpins. All Win32 restrictions (air space control, no rotation or visual brush) are eliminated.  Microsoft Surface is also supported.

Watch the interview to learn the history behind the control, see it in action, learn how to get started, and even contribute back to the community.”

UPDATE: Interested in learning about a pretty cool solution that uses InfoStrat.VE? Check out Sam Chenaur’s post:

John L Scott Real Estate Looks to WPF and Software + Services

InfoStrat.VE – Intermediate fix published for the latest 3D control

digg_url = “http://blogs.msdn.com/devkeydet/archive/2009/04/21/infostrat-ve-intermediate-fix-published-for-the-latest-3d-control.aspx”;digg_title = “InfoStrat.VE – Intermediate fix published for the latest 3D control”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

Due to popular demand, InfoStrat just published an intermediate fix to get their InfoStrat.VE control working on top of the latest Virtual Earth 3D release.  You will notice that they just made a changeset available.  What they made available is not fully tested.  Once it is, they will publish a new release in the Downloads tab.  Here’s the post announcing the interim fix:

http://tinyurl.com/csxhnj

If you aren’t familiar with their control, then check out my blog post for a little background:

http://tinyurl.com/b3a5ps

This control is a must have for any WPF or Surface developer looking to get Virtual Earth 3D working optimally in their app.

DevDinnerOnDemand: Overview of the .NET Framework 3.5 SP1

digg_url = “http://blogs.msdn.com/devkeydet/archive/2008/11/10/devdinnerondemand-overview-of-the-net-framework-3-5-sp1.aspx”;digg_title = “DevDinnerOnDemand: Overview of the .NET Framework 3.5 SP1”;digg_bgcolor = “#555555”;digg_skin = “normal”;http://digg.com/tools/diggthis.jsdigg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

With the .NET Framework 3.5 (the version native to Visual Studio 2008) coming up on its first anniversary, Microsoft is poised to release the first update to the framework in the form of Service Pack (SP1).  This Service Pack is unlike your standard Service Pack, in that it will introduce new features/capabilities to the .NET Framework.  Some of these features where originally planned to be in the initial release of the framework and others are features/capabilities added to enhance or further secure the core .NET Framework.  The August Developer Dinner is going to focus on some of the new features as well as a few of the new enhancements, to give you an introduction of the improved capabilities of the Microsoft Developer Platform.

What you will learn:

This evenings presentation will be a running stream of demonstration focusing on new features and functionality coming in the new Service Pack for several of the key areas of .NET Development today, including Web Development (ASP.NET), Database Development (ADO.NET), Web Services/SOA (Windows Communication Foundation) and User Experience (Windows Presentation Foundation).

You will see demonstrations that will include:

  • Making data access easier with the ADO.NET Entity Framework.
  • Exposing your data access layer using ADO.NET Data Services
  • Building “Data Entry” Web-based applications faster than ever using ASP.NET Dynamic Data.
  • Making AJAX Applications faster with script combining and easier with built in support for handling browser history (i.e. back/forward buttons).
  • How to achieve up to 40% faster startup performance for your WPF applications and further improve the startup experience using a splash screen.
  • Reducing the time it takes to deploy your WPF applications using the New .NET Framework Client Profile.
  • Build services faster using enhancements in WCF.

View Recording:

https://channel9.msdn.com/posts/keydet/US-Public-Sector-Developer-Dinner-for-Partners-NET-Framework-35-SP1/

The follow up post for this developer dinner is http://blogs.msdn.com/devkeydet/archive/2008/08/21/follow-up-developer-dinner-on-net-framework-3-5-sp1.aspx.

Improve WPF application deployment with the Client Profile Designer

Sorry for repurposing content, but this one is easy to miss so I think it is worth it

“The Client Profile Configuration Designer is the designer for the .NET Framework Client Profile. It will allow developers to customize the end-user deployment experience. The customizations allowed using the Client Profile Configuration Designer are:

  • Customization of the user interface
    • Customize the size, position, framing, background colors, fonts, etc. of the installation window
    • Choose to display the license agreements required by the products being installed
    • Choose whether or not to acknowledge the end of the installation process or immediately launch an application
    • Choosing the products to deploy with your application
  • Choosing the products to deploy with your application
    • Choose what prerequisites are required by the application and install them
  • Choosing how to deploy your application
    • Application deployment can be done over the web or from Media for an “offline” deployment experience”

The Client Profile Designer was released as part of the WPF Futures release of the WPF Toolkit:

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-overview.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part1.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part2.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part3.aspx

http://windowsclient.net/wpf/wpf35/wpf-35sp1-client-profile-config-part4.aspx

FOLLOW UP: Developer Dinner on ASP.NET MVC

UPDATE: I had technical difficulties with the recording yesterday.  Therefore, we were unable to record the dinner.  However, I do plan on recording both last night’s presentation and the 3.5 SP1 presentation from the last dinner.  I hope to have them recorded and published some time soon.  Stay tuned.

Thanks to everyone who attended!  You can download the deck and links to the code here:

http://cid-1f72da7294089597.skydrive.live.com/embedrow.aspx/Public/ASP.NET/MVC

You’ll find the code for my ajax samples and links to other samples I showed there.  Normally, I write my own demos and make code code available for download.  However, this time around, most of my demo code was based on the .NET 3.5 Enhancements Training Kit.  I blogged about the kit here:

http://blogs.msdn.com/devkeydet/archive/2008/08/18/free-training-on-net-framework-3-5-sp1-and-asp-net-mvc.aspx

The kit has just about everything I showed in my demos and more!  I did make some updates to the training kit code to reflect ASP.NET MVC preview 5 and my own coding preferences.  However, I need to check with the team that built the training kit before I can share the code. 

I am also keeping a running list of ASP.NET MVC sites/blogs I follow:

http://devkeydet.spaces.live.com/lists/cns!1F72DA7294089597!894/

Although it is already in the list linked to above, I want to call out Stephen Walther’s blog.  If you have a “How do I..” kind of question, chances are Stephen answers it on his blog.  

During the presentation, I called out a few specific urls:

ASP.NET Routing Debugger

ScottGu on ASP.NET MVC Preview 5 (validation is discussed here)

Web Client Software Factory (WCSF) Testability Guidance (for those of who want to stick with WebForms)

MVC Storefront 

Here’s a description of the MVC Storefront from the http://www.asp.net/mvc site:

“The MVC Storefront project documents the building of an Ecommerce application using ASP.NET MVC and Test-driven development. The goal of this starter kit is to introduce the development process of a large-scale application that goes beyond the typical demo or sample application and to create something applicable and reusable in a very open, transparent way.

Rob Conery has documented the development process on his blog and created a video series for many of the development steps. During the process Rob has solicited feedback from members of the community and also held design sessions with prominent Microsoft MVPs. The Project is ongoing and will update with each change in the MVC Framework.”

Tonight’s dinner in Reston, Va will be recorded.  I will try to make the recording available by Friday.

Virtual Earth, SQL 2008, & GeoJSON

I’ve been chatting with Vish over email.  He made me aware his approach to getting SQL 2008 & Virtual Earth to play well together using GeoJSON.  I actually didn’t know about GeoJSON.  Thanks Vish!  Check out his post explaining the approach:

http://viswaug.wordpress.com/2008/06/02/sql-server-2008-virtualearth-made-easier-and-building-a-rest-api/

Preventing SQL Injection with the Entity Framework and Data Services

Yesterday, at the Developer Dinner, I answered a bunch of questions around SQL Injection in the various usage scenarios of the ADO.NET Entity Framework & ADO.NET Data Services.  For the most part, my responses were correct.  However, the last question asked was specific to Entity SQL queries.  I misspoke.  This post is to clear things up.

Because Entity SQL is string based, it is susceptible to SQL Injection.  From Security Considerations (Entity Framework):

"Entity SQL injection attacks:

SQL injection attacks can be performed in Entity SQL by supplying malicious input to values that are used in a query predicate and in parameter names. To avoid the risk of SQL injection, you should never combine user input with Entity SQL command text.

Entity SQL queries accept parameters everywhere that literals are accepted. You should use parameterized queries instead of injecting literals from an external agent directly into the query."

Therefore, if you decide to execute queries using Entity SQL, then will want to review How to: Execute a Parameterized Query (Entity Framework).  I will be sure to update my Entity SQL demos to use parameterized queries.

The good news is that if you are using LINQ to Entities, then you are covered:

"LINQ to Entities injection attacks:

Although query composition is possible in LINQ to Entities, it is performed through the object model API. Unlike Entity SQL queries, LINQ to Entities queries are not composed by using string manipulation or concatenation, and they are not susceptible to traditional SQL injection attacks. "

If I remember correctly, the originating question starting the series of SQL Injection questions was about introducing SQL Injection into an ADO.NET Data Services query.  ADO.NET Data Services queries go through a translation layer from the http request to the actual query execution.  Although this translation is not exactly the same, it is conceptually similar to what happens when you create LINQ to Entities queries in code.  Because of this translation layer you get the same protection from SQL Injection.

FOLLOW UP: Developer Dinner on .NET Framework 3.5 SP1

Thanks to everyone who attended!  You can download the deck and links to the code here:

http://cid-1f72da7294089597.skydrive.live.com/embedrow.aspx/Public/NETFX3.5SP1

Normally, I make my actual demo code available for download.  However, this time around, my demo code was based on the .NET 3.5 Enhancements Training Kit.  I blogged about it here:

http://blogs.msdn.com/devkeydet/archive/2008/08/18/free-training-on-net-framework-3-5-sp1-and-asp-net-mvc.aspx

The kit has everything I showed in my demos and more!  I also promised to link to a bunch of good content out there on the various topics.

General

MSDN -> Data Platform Development

“How Do I?” Videos — Data Platform Development

ADO.NET Entity Framework

MSDN Library -> ADO.NET Entity Framework

ADO.NET Team Blog

Entity Framework Design Blog

Sample provider for Oracle

Third Party Provider Support for the Entity Framework RTM

Updated Entity Framework Samples for RTM

ADO.NET Data Services

MSDN Library -> ADO.NET Data Services Framework

MSDN -> ADO.NET Data Services

ADO.NET Data Services Team Blog

https://channel9.msdn.com/tags/UK/ Has a bunch of GREAT screencasts from Mike Taulty.

ASP.NET Dynamic Data

MSDN Library -> ASP.NET Dynamic Data

http://www.asp.net/DynamicData/

David Ebbo’s blog (Dynamic Data and other ASP.NET topics)

WPF

http://windowsclient.net/wpf/default.aspx

What’s New in .NET Framework 3.5 Service Pack 1 (for WPF)

WPF DataGrid CTP Preview (Video)

cheat-sheet to some of the WPF 3.5 SP1 features..

WPF Control Toolkit (DataGrid CTP)

WCF

New WCF Features in 3.5 SP1

WCF Tools in VS2008 SP1: Introducing the new features and enhancements