ASP.NET 3.5 Social Networking:

An Expert Guide to Building Enterprise-ready Social Networking and Community Applications with ASP.NET 3.5


posts - 27, comments - 18, trackbacks - 0

Wednesday, February 17, 2010

$15 off C# in Depth 2nd Edition

If you like C# at all then you know that Jon Skeet (writings, blog, StackOverflow) is the man when it comes to this language.  Just look at his StackOverflow flair!!!  He is the top dude by a long shot in C# and has been for a long time.

image

His latest book “C# in Depth 2nd edition” is currently available in the Manning Early Access Program (MEAP) and ready for you to get your hands on! 

$15 off C# in Depth 2nd edition: use code dotd0217 at checkout. http://manning.com/skeet2/

posted @ Wednesday, February 17, 2010 8:59 AM | Feedback (0) |

Friday, January 15, 2010

Can you help me formulate a TOC for an ASP.NET MVC Cookbook

Hey there everyone.  I was recently tasked to pitch a book to my publisher.  As a first step I need to come up with an outline for the Table of Contents.  This book is the standard cookbook style with an added focus on the MVC side of ASP.NET.  I have been poking about at other similarly styled books to get some ideas.  I think comparing ASP.NET Web Forms to ASP.NET MVC would provide some folks with a good reference point when looking at the two ways of doing things. 

(Thanks to my friend James Shaw for this idea…made my life easier)

Below is what I have some up with so far.  Can you please take a quick look to make sure I haven’t missed anything?  Perhaps more important than missing a topic…am I including too much?  Feel free to contact me directly with any comments at asiemer@hotmail.com or leave a comment below.

Thanks!

1. Working with the View

1. Discovering the problems of a non-strongly typed view

2. Creating a strongly typed view

3. Working with a ViewModel

4. How to use strongly typed input builders

5. Create a custom input builder

6. Consolidating view code into a partial view

7. Using the Spark view engine

8. Using the FubuMVC view engine

9. Exposing a view that returns an image

10. Creating a JSON result

11. Consuming a JSON view

12. Exposing a view that returns a PDF

2. Actions

3. Controllers

4. Routes

5. Master Pages

1. How to create a master page

2. Controlling which master page is used with a custom base page

3. Working with Spark View Engine master pages

6. Working with data in the view

1. Reintroducing for and foreach

2. Displaying data from an xml file

3. Displaying an array as a group of check boxes

4. Displaying an array as a group of radio buttons

5. Creating a page-able set of data

6. How to sort data

7. Navigating to a specific page of data

8. Deleting a record from a data set

9. Adding a javascript delete confirmation pop-up

10. Adding a modal window delete confirmation pop-up

11. Displaying a modal window to show a records details

12. Adding a totals row to the bottom of a set of data

13. Using the free telerik grid

7. Working with Forms

1. Posting a form to the appropriate action

2. Setting the field tab order

3. Setting a default button

8. MVC and templating

1. Plugging in a new skin from the template gallery

2. Using T4 to create strongly typed helpers

3. Using T4MVC to destroy magic strings

4. Creating a view template

9. Validation Recipes

1. Validating with Data Annotation Validators

2. Reporting validation errors with ViewData.ModelState

3. Using Html.ValidationMessage to display validation errors

4. Summarizing validation errors with Html.ValidationSummary

5. Using the xVal validation framework

6. Using Castle Validator for validation

7. Client side validation with JQuery Validation

8. Making a required field

9. Setting an acceptable range

10. Requiring the password and password verification fields to match

11. Using a regex pattern to validate data

12. Forcing a choice to be made in a drop down menu

10. Managing large applications with Areas

1. Creating a separate project as an area

2. Creating an area in the same project

3. Using areas to manage segments of your site

4. Creating portable areas to compartmentalize functionality

11. Maintaining state

1. Working with application wide information

2. Maintaining a user’s information during their session

3. Using cookies to remember a user

4. Managing state in a web farm scenario using SQL Server

12. Error Handling

1. Handling errors in your code

2. Handling errors for a view

3. Handling errors in your application

4. Showing friendly error information

5. Using Error Logging Modules and Handlers (ELMAH) to deal with unhandled exceptions

6. Reporting caught exceptions to ELMAH

13. Security

1. Using membership and roles to manage users

2. Using windows authentication

3. Restricting access to all pages

4. Restricting access to selected pages

5. Restricting access to pages by role

6. Restricting access to a controller

7. Restricting access to a selected area

14. Profiles and Themes

1. Using profiles

2. Inheriting a profile

3. Using an migrating anonymous profiles

4. Managing user profiles

5. Using themes

6. User personalized themes

15. Configuration

1. Adding custom application settings in web.config

2. Displaying custom error messages

3. Maintaining session state across multiple web servers

4. Accessing other web.config configuration elements

5. Adding your own configuration elements to web.config

6. Encrypting web.config sections

16. Tracing and Debugging

1. Uncovering page level problems

2. Uncovering application wide problems

3. Writing trace data to the event log

4. Sending trace data via email

5. Using a breakpoint to stop execution of an application when a condition is met

17. Caching

1. Caching a whole page

2. Caching pages based on route details

3. Caching pages based on browser type and version

4. Caching pages based on developer defined custom strings

5. Caching partial pages

6. Caching application data

7. Caching object data

8. Installing MemCached Win32 as an alternate cache provider

9. Using the MemCached Enyim client to cache application data

10. Installing Microsoft Velocity

11. Using Velocity to cache application data

18. Localizing your application

1. Providing multiple language support

2. Using resource files to manage display data

3. Managing currency display based on selected language

19. HTTP Handlers and Modules

1. Tracking access to your resources with an HTTP Handler

2. Create a file download HTTP Handler

3. Control leeching of your resources with an HTTP Module

20. Making ASP.NET even more powerful

1. Making controllers testable by implementing a ControllerFactory

2. Implementing inversion of control with StructureMap

3. Install MVC Turbine and write less code

4. Creating testable views

5. Creating testable controllers

posted @ Friday, January 15, 2010 3:17 PM | Feedback (2) |

Tuesday, January 05, 2010

VirtualDNUG.com a virtual .net users group

Hey all!  I am finally going to put my full steam into setting up my VirtualDNUG users group.  With the help of the good folks over at ineta (they are providing a LiveMeeting license for us) I am hoping to host a great environment for learning.  I will probably start off with topics on ASP.NET MVC and the various side projects that surround that world (Turbine, Spark View Engine, FubuMVC, etc.) but I am totally open to just about any other cutting edge .net topics as well.

If you are interested in attending our initial meetings, would like to present, or have a topic that you would like to be covered, please contact me directly at asiemer@hotmail.com.

posted @ Tuesday, January 05, 2010 1:32 PM | Feedback (0) |

ASP.NET MVC 2 in Action conducting a public review

Since I enjoyed the first edition of the ASP.NET MVC in Action book I figured I would jump on this second edition of this book and framework as quickly as I could.  I just read this post from Jeffrey Palermo:

http://jeffreypalermo.com/blog/mvc-2-in-action-book-conducting-public-reviews/

Which basically states that they are actively working on the next edition of the book.  More importantly, the chapters that they have completed so far are in a publicly viewable location: http://github.com/jeffreypalermo/mvc2inaction

Here is a re-post of Jeffrey’s original post:

If you’d like to get an early glimpse of ASP.NET MVC 2 in Action, you can participate on the public email list athttp://groups.google.com/group/mvc2inaction-discuss.  The first bit of the manuscript is ready to review, and it consists of chapter 23, Data Access with NHibernate.  You can also access every bit of code, text, and image at the book’s GitHub repository.  With the first book, ASP.NET MVC in Action, Manning conducted an Early Access Program (MEAP).  Manning will still conduct it, but our program is a early, early access program.  In other words, you can have access to the unedited, perhaps dirty, manuscript and help as it drives forward to polish and completion.

As each piece of the manuscript is complete, we will post it to this list and ask for feedback.  Anyone who gives us constructive feedback on the list WILL be thanked in the acknowledgements section at the front of the book when it goes to print.  Also, you will have influence in shaping this book so that it is as good as it can be.

Our hope is that this book serves the .Net community that is working ASP.NET MVC 1 and ASP.NET MVC 2 applications.

The author team consists of:

If this book project interests you, and if you know people who should be involved, please blog, tweet, and otherwise post a link to this announcement.

posted @ Tuesday, January 05, 2010 11:56 AM | Feedback (0) |

Saturday, November 14, 2009

DotNetRadio.com - Podcast #2 – interview with Atif Aziz creator of ELMAH

http://dotnetradio.com/archive/2009/11/13/podcast-2.aspx

Andrew sites down with Atif Aziz. Atif Aziz is a senior IT business analyst at Cargill International and an ex-Microsoftie. His primary focus is helping customers move to the .NET Framework. He speaks regularly at Microsoft conferences and can be reached through his website. You can find out more about Atif Aziz by visiting his web site www.raboof.com.

  • Raboof.com = FooBar!!
  • Atif describes to us what ELMAH is and the history behind it. He then goes into detail as to how to get ELMAH installed and running. Atif then outlines the types of storage that are supported and how to implement a custom storage provider. Next we get into how ELMAH handles exceptions, how it works with the .NET runtime, and what the appropriate way to handle exceptions with ELMAH is. He then gets into the details of how to signal ELMAH about exceptions that occur as the filtering that ELMAH provides.
  • OrbitOne ASP.NET Exception Reporting (based on ELMAH) – a good example of centralized exception logging and extending ELMAH
  • ELMAH has earned Veracode Application Security rating and has earned OWASP top 10 and SANS-CWE top 25 placements
  • What is Fizzler? A .NET based CSS selector built on top of HTML Agility Pack to parse nodes of HTML by CSS selector. Using LINQ with Fizzler. How does jQuery (client side selector) compare to Fizzler? How is Fizzler able to select out nodes, make changes, and put those changes back? Fizzler and HTML Agility Pack is very powerful when paired together for parsing and modifying HTML nodes
  • How does Jayrock fit into a web developers world? Jayrock is an easy to use way for JavaScript to communicate with back end web services using JSON as the wire format and JSON-RPC as the procedure invocation protocol. Jayrock can generate the client code that is needed for you. Jayrock works with .NET 1.0!! Jayrock is considerably easier to use compared with WCF. Jayrock follows the Duct Tape Programmer mentality of simple and easy to use with rock solid stability
  • BackLINQ "was a pretty bad start" ...but a good story
  • LINQBridge provides LINQ capabilities to .NET 2.0 framework
  • Unit testing is awesome…but not worth updating older codebases that are based on infrastructure
  • MoreLINQ, by Jon Skeet, StackOverflow super star, and author of C# in Depth. MoreLINQ provides 22 additional really useful LINQ methods such as Zip(), ToDelimitedString(), TakeLast(), etc.
  • Open Source works when everyone contributes little bits, be it code, documentation, writing blog posts and articles, etc.

Send me your questions and comments!
If you would like to submit a question to be answered in the next show, please record an audio file and email it to podcast@dotnetradio.com. All you need is a telephone! Call (646) 200-0000, talk, then navigate to http://cinch.blogtalkradio.com/YOURPHONENUMBER to retrieve your recording. Then send it my way.

posted @ Saturday, November 14, 2009 1:47 AM | Feedback (1) |

Sunday, November 08, 2009

Just interviewed Atif Aziz for the DotNetRadio podcast

I just got through interviewing Atif Aziz (@raboof on twitter – foobar spelled backwards!) probably most known (at least to me) for his ELMAH (Error Logging Modules and Handlers) contribution.  We discussed ELMAH, ELMAH’s Veracode Application Security Rating which made OWASP top 10 in 2007 and SANS-CWE top 25, Fizzler, Jayrock, BackLINQ, LINQBridge, and MoreLINQ.  Atif is a very smart guy and you can truly hear his passion for sharing with the development community when speaking with him.  This was a great interview that I think any .net developer could learn a thing or two from.  Look for this interview in the near future on the DotNetRadio podcast. 

Subscribe to the podcast feed here: http://feeds.feedburner.com/Dotnetradio

And follow the show on twitter here: http://twitter.com/dnetradio

posted @ Sunday, November 08, 2009 9:02 AM | Feedback (0) |

Saturday, November 07, 2009

Interviewing Javier Lozano 7 Nov 2009 (tonight) at 8pm PST

Hey all.  I wanted to let you know who was slated for the next interview - Javier Lozano

Javier is a .NET consultant in Des Moines, Iowa. He's an ASP.NET MVP and MCSD specializing in ASP.NET, system architecture, and training. Javier is also a co-founder of the Iowa .NET Users Group.

On his blog you can find posts on ASP.NET, architecture, design patterns, .NET, XML and Indigo (WCF). Javier enjoys giving back to the community by speaking at user groups, local/regional .NET events, being active in forums and by writing articles for Code Project.

In his spare time, Javier enjoys spending time with his wife, newborn son , two golden retrievers and writing about himself in the third person.

It is my plan to interview Javier tonight and get the podcast ready for release by the middle of next week.

Got Questions for Javier?

If you have any questions about ASP.NET MVC, Turbine, or anything else you think appropriate for Javier feel free to send them my way at podcast@dotnetradio.com.  The interview will be tonight at 8pm (PST).  Feel free to send your questions in real time via twitter to @DNetRadio.

posted @ Saturday, November 07, 2009 2:26 PM | Feedback (0) |

Interviewing Javier Lozano tonight at 8pm PST

Hey all.  I wanted to let you know who was slated for the next interview - Javier Lozano

Javier is a .NET consultant in Des Moines, Iowa. He's an ASP.NET MVP and MCSD specializing in ASP.NET, system architecture, and training. Javier is also a co-founder of the Iowa .NET Users Group.

On his blog you can find posts on ASP.NET, architecture, design patterns, .NET, XML and Indigo (WCF). Javier enjoys giving back to the community by speaking at user groups, local/regional .NET events, being active in forums and by writing articles for Code Project.

In his spare time, Javier enjoys spending time with his wife, newborn son , two golden retrievers and writing about himself in the third person.

It is my plan to interview Javier tonight and get the podcast ready for release by the middle of next week.

Got Questions for Javier?

If you have any questions about ASP.NET MVC, Turbine, or anything else you think appropriate for Javier feel free to send them my way at podcast@dotnetradio.com.  The interview will be tonight at 8pm (PST).  Feel free to send your questions in real time via twitter to @DNetRadio.

posted @ Saturday, November 07, 2009 2:24 PM | Feedback (0) |

Interviewing Javier Lozano tonight at 8pm PST

Hey all.  I wanted to let you know who was slated for the next interview - Javier Lozano

Javier is a .NET consultant in Des Moines, Iowa. He's an ASP.NET MVP and MCSD specializing in ASP.NET, system architecture, and training. Javier is also a co-founder of the Iowa .NET Users Group.

On his blog you can find posts on ASP.NET, architecture, design patterns, .NET, XML and Indigo (WCF). Javier enjoys giving back to the community by speaking at user groups, local/regional .NET events, being active in forums and by writing articles for Code Project.

In his spare time, Javier enjoys spending time with his wife, newborn son , two golden retrievers and writing about himself in the third person.

It is my plan to interview Javier tonight and get the podcast ready for release by the middle of next week.

Got Questions for Javier?

If you have any questions about ASP.NET MVC, Turbine, or anything else you think appropriate for Javier feel free to send them my way at podcast@dotnetradio.com.  The interview will be tonight at 8pm (PST).  Feel free to send your questions in real time via twitter to @DNetRadio.

posted @ Saturday, November 07, 2009 2:22 PM | Feedback (0) |

Thursday, November 05, 2009

Interview with Ben Scheirman co-author of ASP.NET MVC in Action on DotNetRadio.com

I recently sat down with Ben Scheirman (co-author of ASP.NET MVC in Action) for my first interview on my new show DotNetRadio.  It was quite a talk!  We covered the following points:

  • An introduction to Ben Scheirman and how he got into web development
  • Bens path through various web technologies such as ColdFusion, PHP, Ruby, and ASP.NET
  • A brief discussion on code testability
  • Working with ASP.NET web forms using the model view presenter pattern
  • How ASP.NET MVC simplifies the testing process
  • Ben informs us of how you can sell test driven development to a client…or sneak it in
  • Regression testing
  • We run through the process of refactoring and how you really should trustReSharper
  • We briefly touch upon the concept of Continuous Integration
  • Ben discusses a new way of testing using MSpec to create documentation out of your unit tests
  • This leads us into behavior driven development and context specification
  • Next we discuss how twitter can be used as a developer tool
  • Ben describes to us how he got involved with co-authoring ASP.NET MVC in Action and the process involved with writing a book based on “preview” code.

Check it out at http://dotnetradio.com/.  You can follow the show on Twitter at DNetRadio.

As this is a new show the format is not entirely worked out just yet!  I am still trying to work out the music, the format, guest lineup, advertisers, etc.  Also, since I am a coder by day and a coder/writer at night – pro-audio is a totally foreign concept to me.  I am all ears if after listening to the show or visiting the site you come up with a WTF moment or just some good general advice.  Shoot it my way!

posted @ Thursday, November 05, 2009 7:59 PM | Feedback (0) |

Sunday, October 18, 2009

Interview with Ben Scheirman coming soon to DotNetRadio.com

This morning I had the chance to speak with Ben Scheirman.  We chatted for roughly an hour or so discussing how he entered into the web development industry, going on the road to teach ASP.NET MVC in its early days, his book ASP.NET MVC in Action, and his thoughts on the use of the MVC framework.  We discussed some patterns and tools for testing, tools for development in general such as ReSharper, and the use of the Spark View Engine.  Watch for this podcast to be posted within the next couple of days. 

Being the first podcast for DotNetRadio and the first podcast I have ever done I am hoping that my listeners will share any ideas to improve the show.  I am all ears!  Feel free to share your feedback with me at podcast@dotnetradio.com

Tell your friends about DotNetRadio!  You can also follow us at twitter.com/DNetRadio.

posted @ Sunday, October 18, 2009 8:16 PM | Feedback (1) |

Monday, October 12, 2009

DotNetRadio.com

I decided to start a podcast.  I am going to host it under the name of DotNetRadio…sounded appropriate!  I am in the early stages of getting things set up which means that there is still some flexibility in how things are done.  I was wondering if anyone out there is willing to share some input regarding the creation of a podcast, how they might like to see the show format take shape, who they would be interested in hearing an interview of, etc. 

I initially did a test recording using a standard analog mic.  Totally sucked!  So I upgraded to a better quality USB mic.  This certainly made things sound better but it still sounded like I was talking through a can.  Tomorrow I should be receiving the Behringer podcaststudio.  I am hoping that this will be an exceptional upgrade (though still not pro-audio).  This package comes with a good mic, head set, mixer, usb interface, etc.  I also got a pop filter that clips on to the mic (everyone said it is a must).  We will see how it goes.

Take a look at DotNetRadio.com.  Let me know what you think and more importantly if you have any suggestions send that my way too!

posted @ Monday, October 12, 2009 10:43 PM | Feedback (0) |

Friday, September 18, 2009

Review: ASP.NET MVC in Action by Jeffrey Palermo, Ben Scheirman, and Jimmy Bogard

The ASP.NET MVC framework was just released as a preview when I started to write my first book (ASP.NET 3.5 Social Networking).  In the early days of design decisions for my book I was faced with the problem of building with the MVP pattern or the new MVC pattern/framework.  At that time there was next to nothing regarding the use of  the ASP.NET MVC framework (proper or improper). 

Shortly after I got started with my project (which I chose to do in MVP) I was asked to do a review for the ASP.NET MVC in Action book.  I gladly accepted and started to read as Jeffrey Palermo, Ben Scheirman, and Jimmy Bogard explored the world of ASP.NET MVC offerings.  I thought that they did a very good job of describing how Microsoft meant you to use the new framework and a better job of describing how to break beyond the limitations of the current offerings.  They go above and beyond to describe best practices early on.

ASP.NET MVC in Action

I must say that this is one of the few books that I have ever read cover to cover so many times!  With each review of the book I went through each chapter to find any updates.  As this book was being written several new CTP’s of the ASP.NET MVC framework were released.  With each of the CTP releases came a new rendering of the book.  It was quite fun to see how quickly things changed over the year that this book was written.

Finally having the final review in my hands and being so very familiar with it’s content, I have to say that of all the books on the ASP.NET MVC framework the ASP.NET MVC in Action book should be at the top of your list for things to purchase in the upcoming months.  At a quick glance this book covers all things relating to ASP.NET MVC and then some.  This book is not just a regurgitation of MSDN or other resource as so many books are these days.  Here are the chapter titles for this book:

  1. Getting started with the ASP.NET MVC Framework
  2. The Model in depth
  3. The Controller in depth
  4. Views in depth
  5. Routing
  6. Customizing and extending the ASP.NET MVC Framework
  7. Scaling the architecture to more complex sites
  8. Leveraging existing ASP.NET features
  9. AJAX in ASP.NET MVC (which includes coverage of jQuery!)
  10. Hosting and Deployment
  11. Exploring MonoRail and Ruby on Rails
  12. Best Practices
  13. Recipes

As you can clearly see from the above this is more than just the XYZ of ASP.NET MVC.  I highly recommend this book for anyone interested in breaking away from the pains of ASP.NET WebForms.  This framework, especially with the help of this new book, makes programming for the web fun again!

 

Andrew Siemer
Teacher, Author, Engineer, Architect, Build Master, Scrum Master, Father of 6, Husband, ex Army Ranger

My Book


Links
Blog.AndrewSiemer.com
AndrewSiemer.com
PictFresh.com
Linked In
My Space
Face Book
Twitter AndrewSiemer.GymEd.com
GymEd.com