Web Application Development with Microsoft Technologies

.NET Technologies Gadgets, Entrepeneour, Experiences and more

Web Application Development with Microsoft Technologies header image 1

C# Language 3.0 Specification Available for Download !

September 13th, 2007 · No Comments

I just found this 500 pages word document, containing the full C# Language Specs for 1.0, 2.0 and the new 3.0 C# version.

 Even the doc is quite long (of course I haven’t went into it entirely YET), it must be the best and the most authoritative reference for the C# language, because it was written by its own creators !

The document is well organized, includes syntax definitions, examples, and instructions for using all the language features, including latest additions for the new release, such as Linq and Lambda expressions. C# 3.0 is included in latest .NET 3.5 release.

I hope you find it useful, I think it has huge value and will help you with any doubt regarding the C# features set, and exploiting all its potential as well.

→ No CommentsTags: Resources · .NET 3.5

My Monthly AJAX.NET, ASP.NET and Silverlight Links. August 2007.

September 7th, 2007 · No Comments

Inspired by Scott Guthrie , the General Manager for MS Technologies, and source for most of the cool articles I usually read, I will be posting a Monthly list of Microsoft Articles and Code Samples that I liked the most over the past month. Every month there are hundreds of posts over there, but having a list of the best ones would save you time and effort.

Since now I am trying to focus in Design, Architecture and How To Apply Latest Microsoft Technologies to the Projects I work with, most of the articles I read are not about “low level” programming. But because I still work as .NET Web Developer for some of the Projects I am involved, I still need to read and learn a lot from a programmer perspective.

In these monthly posts I’ll cover the blog articles and samples that really added value to my developer/architect life. In order to come with this list I just went to my RSS Reader (I use and love Google Reader) and my del.icio.us account, among others.

Well, enough intro so far, these are some fo the posts that caught my attention and helped me during the month of August 2007.  I hope you find something interesting for you as well, I categorized them for your better understanding.

ASP.NET, AJAX and Silverlight Articles and Samples.

How to customize the ASP.NET GridView control to have a better presentation for Sorting, Paging, Row Numbers, Page Size and GoToPage features, with just a few code lines. By Matt Berseth

This serie of 15 posts (so far), show us how to build a complete Web Site, similar to iTunes one, with a nice look&feel improved with Silverlight (1.1 alpha version). It is a great reading for all interested in watching Silverlight, ASP.NET and AJAX.NET Playing together. A must read and includes source code. By Jose Fajardo.

This post show the powerful new control available in the ASP.NET 3.5. It gives us full control of the layout, and when using CSS we end up having a rich and clean user interface. By Scott Gu

In August, the Applications Showcase in the Silverlight home page was updated. There are more than 10 amazing examples of what can be done using Silverlight. Companies are investing a lot of money following this hot trend. You can also check Taifiti, the new Microsoft Search Engine powered with Silverlight, released in August.

Async postbacks and page refresh can sometimes have some delay. During that time, user is still able to modify data in the page. When updatepanel refresh, data might be loss. We ran to this issue last week with some AJAX development we were working on. This control (still marked as “prototype”) disables the user interface (using a DIV and a bit of code) and displays a progress status bar to the user. It worth a try. By Matt Berseth.

Another good tip. You can declare Page Web Methods ( adding [System.Web.Services.WebMethod] attribute) in your ASPX and invoke it from client with just a few lines of code. Even this is useful, you need to be careful, because you are exposing more entry points to your application code. In next posts I’ll be writing about some AJAX security tips like reducing entry points, increasing parameter validations, using scr= includes and others. By Matt Berseth. 

File Upload with AJAX

If you had to provide a file upload functionallity for any customer in the past, while using AJAX, then you probably found the XMLHTTPRequest object doesn’t support it. Alexander Gimenez pointed us to a good post for Creating an AJAX Style File Upload in a tricky way. There is also some other AJAX File Download control for downloading here.

A great example of new technologies comming up: ListView control, Datapager, LinqDataSource, Media Control and more. It works for Silverlight 1.0 and ASP.NET Futures July 2007. Includes Source Code and you need VS 2008 Beta 2 installed. Steve says he did it in one night. Amazing! By Steve Marx

Tools & Misc.

If you are a .NET programmer and you’re trying to increase your productivity, this is the place to search. Scott has a complete list of tools (most of them are free) that will help you in your daily coding. It is categorized and every tool has a good description. I cannot believe he is using all of them ! Some are well known, but some are not and those also deserves a try! by Scott Hanselman

“On this final episode of the .NET Show, Scott Guthrie, general manager for .NET Platform technologies, and Jason Zander, general manager for the .NET Framework, join host Robert Hess to discuss and demonstrate Silverlight”. Just click Play and Enjoy.

 I hope this helps ! And if you have some other post to recommend from past month, just drop a comment !

→ No CommentsTags: Resources · Silverlight · ASP.NET · AJAX.NET

Is Silverlight SEO Friendly ?

September 1st, 2007 · 1 Comment

At the end, it is not.

(If you don’t you know what SEO or Silverlight is, then visit my Tech Snacks Corner to read about it first)

Basically, SEO is the process and techniques to achieve Optimization for Search Engines, that you would need to follow or have in mind when building public web sites where content is a key factor.

For example, if you are coding a Product Catalog Web Site for a customer who sells programming books, then he would be more than interested in appearing in Google’s first results when a user searches for “AJAX.NET Book”. If he appears in page 102 of Google Results, then his online shopping mall won’t receive any visits and then, no sells will be made, which is bad.

There are several (meaning hundreds) of techniques that will help your customer site to rank better for certain keywords (such as “AJAX.NET Books”). I could write an entire Blog about them (Actually that is what I am planning to do, because I love the SEO subject), but for now, let’s focus just in the key factors a developer should have in mind when coding a public website like this.

At high level, Google uses spiders to crawl the web and build its database of content - keywords - PR - urls. These spiders reaches the main page content, perform a GET, parse the HTML they get, store the content and follow each link you have in your website to find more data to crawl. Then the data is analyzed and relevance is assigned using pigeons , in order to return the more relevant results for a given set of keywords.

If you think about it, then the key for you is to be sure Google Bot (or any other Search Engine Bot like Yahoo! or MSN) is able to access your HTML content in order to parse it.

You can always get an idea of what the Bot is going to read when doing a “View Source” in your web page.

But if you are bulding an entire site with Silverlight, then the generated HTML for your main page would be as poor as this one (this is just an example):

<html><head>
<html>
 <head>
  <script type="text/javascript" src="Silverlight.js" mce_src="Silverlight.js"></script>
  <script type="text/javascript" src="Default.html.js" mce_src="Default.html.js"></script>
<body><table id="maintable" align="center">
  <tr align="center">
  <td align="center" valign="middle">
  <div id="SilverlightControlHost" class="silverlightHost">
  <script type="text/javascript">
  createSilverlight();

As you can see, there is almost no content ! Well, let’s be positive and imagine that Bots learn how to read the generated HTML with Silverlight, and they can find your XAML file and JS files.  They will get just a bunch of XAML control definitions, and JS. And guess what? No content ! Because content will be embedded in DLLs and JS files, and media will be encoded and served from the Server.So, your customer website will be almost invisible to Search Engines. And he will be earning like $0 if he don’t spend more money in other promotion campaigns such as PPC Advertisement one. Is he going to be happy? I don’t think so.
So, what can be done? Well, this issue is similar to the one you will find in a website totally developed with Flash (That is why I avoid using Flash in my websites). Spiders cannot read Flash either ! But there are some

Workarounds to this big SEO & Silverlight issue:

I will list just a couple of them:

Have another version of your site being returned  when a Bot visits your site

You can dynamically generate another version of your site with HTML or DHTML content when Bots visits your site. How to do this ? You can apply some XSL Transformation to your data (assuming you are getting your products data from Database in some XML format), and render an optimized version of your website with no Silverlight content, having images with a proper “Alt” tag set, and well defined H1 and H2 tags for your products titles (Search Engines loves to read H1 and H2 tags to sort and assign relevance to your content). When the regular user visit your site because he found the url in the Search Results List for “AJAX.NET Book”, then you render your Rich User Interface version of your site, with Silverlight content.

Of course this Solution involves a LOT of time and thinking, and if not doing it well, you can also be penalized by Search Engines if they think you are serving a copy of another website (this technique is called “Cloaking”).

Minimize your Silverlight content and embed it in an Optimized ASP.NET Page.

You can put your content and good titles in an ASP.NET page, have your h1 and h2 tags in place, text with descriptions, and enhance the User Experience with the use of some AJAX and Minimized Silverlight Content. In order to embed the Silverlight content you can use the Xaml control to be released in new Visual Studio Orcas.

This approach is less costly, and will definitely help you rank better in Search Engines !

I’ll be writing a lot about SEO in future posts. If you found it interesting, don’t forget to Subscribe to my RSS Reader. !

I’m adding content to this Blog every week.

→ 1 CommentTags: SEO · Silverlight

.NET Trainings and Tutorials for Beginner Developers

August 27th, 2007 · No Comments

Some good stuff for people who want to start learning about .NET Web Application Development has been added to the newly Microsoft Beginner Developer Learning Center.

New additions include:

1. Five online chapters of “Creating Web Pages for Dummies”.
2. Nine online chapters of “Visual Web Developer for Dummies”.

The MBDL is a .NET centralized resources repository built for those developers who are entirely new to Windows and Web Development, or for example already have some Web Development experience but not using ASP.NET.

Web Development Section is organized in 3 levels (Tier 1, Tier 2 and Tier 3) and cover various aspects of web development, from CSS, HTML and Javascript to installing and using ASP.NET Development tools.

It is not only a great start point for fresh developers but also for ASP.NET developers who are still working in the 1.1 version and need to learn quickly how to use Membership, Gridviews and other features of the 2.0 version.

You will find Tutorials, Videos, Code Samples(C# and VB.NET), Slides and other resources, both for using in online or offline mode.

Visit the Microsoft Beginner Developer Learning Center and take a look, there is for sure, something you will find useful !

→ No CommentsTags: Resources · ASP.NET