If you are coming to the San Diego .NET Developers Group meeting tonight I hope you will be their early for my talk titled "What’s New In VS 2008 SP1". Lots of new additions to this SP, not just bug fixes. Below is a link to the presentation.

VS2008Sp1.pdf (715.88 KB)
 
Categories: .NET | ADO.NET | AJAX | ASP.NET | Csharp | dotNetDave | EF | LINQ | MVC | Silverlight | VB.NET | VS.NET | WinForms | WPF | WCF

September 2, 2008
@ 11:36 AM
If you live in the San Diego area, dotNetDave (a.k.a. David McCarter) will be teaching a 6 week Fundamentals of the .NET Framework course at the University of California, San Diego Extension beginning on Thursday 9/24/2008 from 5:30pm to 9:15pm. For more information and to enroll, please click here.
 
Categories: .NET | C# | dotNetDave | VB.NET

September 1, 2008
@ 11:47 AM

I hope everyone in California is planning to attend this years Central Coast Code Camp up in San Luis Obispo on 9/27 - 6/28. It's always a great time and lots of free training! I will also be selling a limited number of my latest book "David McCarter's .NET Coding Standards" at my sessions for $11, cheaper than the web site (no tax and shipping), please bring exact change.

I will be presenting the following sessions and I hope you will attend.

dotNetDave's .NET Utility Assembly (My First CodePlex Project)

zip_icon.gif dotNetDaves .NET Utility Assembly1.zip (1.11 MB)

CodePlex site: http://www.codeplex.com/dotNetTipsUtility

Building Rich & Interactive Web Applications with ASP.NET AJAX Part 1

zip_icon.gif Building Rich & Interactive Web Applications with ASP.NET AJAX.zip (1.83 MB)

Building Rich & Interactive Web Applications with ASP.NET AJAX Part 2 

zip_icon.gif Building Rich & Interactive Web Applications with ASP.NET AJAX Part 2 - 20081.zip (1.82 MB)

Why You Need .NET Coding Standards (2008)

zip_icon.gif Why You Need .NET Coding Standards-20081.zip (2.86 MB)

Photos

Pictures from last years event: http://www.flickr.com/photos/davidmccarter/tags/centralcoastcodecamp/


 
Categories: .NET | AJAX | ASP.NET | C# | Code Camp | Defensive Programming | Development | dotNetDave | VB.NET

August 15, 2008
@ 01:20 PM

Do you want to retrieve all the Exceptions, including the inner Exceptions when an Exception is thrown for logging purposes? Since they are not enumerable, I wrote a block of recursive code below that will do the trick.

    1 Function RetrieveAllExceptions(ByVal ex As Exception) As ObjectModel.ReadOnlyCollection(Of Exception)

    2    Dim exceptions As New Generic.List(Of Exception)

    3 

    4    If ex IsNot Nothing Then

    5       exceptions.Add(ex)

    6 

    7       If ex.InnerException IsNot Nothing Then

    8          exceptions.AddRange(RetrieveAllExceptions(ex.InnerException))

    9       End If

   10    End If

   11 

   12    Return New ObjectModel.ReadOnlyCollection(Of Exception)(exceptions)

   13 

   14 End Function

Tip Submitted By: David McCarter


 
Categories: Development | VB.NET

The SQL Server 2005 Best Practices Analyzer (BPA) gathers data from Microsoft Windows and SQL Server configuration settings. BPA uses a predefined list of SQL Server 2005 recommendations and best practices to determine if there are potential issues in the database environment.

http://www.microsoft.com/downloads/details.aspx?FamilyID=DA0531E4-E94C-4991-82FA-F0E3FBD05E63&displaylang=en

 


 
Categories: News | SQL Server

August 11, 2008
@ 09:42 AM
Categories: Link | News | VS.NET

Everyone should check this out. Lots of info on the new version:


http://go.microsoft.com/?linkid=9369515


The .NET Framework 3.5 Enhancements Training Kit includes presentations,
hands-on labs, demos, and event materials.


 
Categories: .NET | ADO.NET | LINQ | News | EF | MVC

REDMOND, Wash. — Aug. 6, 2008 — Microsoft Corp. today announced the release to manufacturing of Microsoft SQL Server 2008, the new version of the company’s acclaimed data management and business intelligence platform. This version of SQL Server provides powerful new capabilities such as support for policy-based management, auditing, large-scale data warehousing, geospatial data, and advanced reporting and analysis services. SQL Server 2008 provides the trusted, productive and intelligent platform necessary for business-critical applications.

“Microsoft developed this release of SQL Server with the customer in mind,” said Ted Kummert, corporate vice president of the Data and Storage Platform Division at Microsoft. “SQL Server 2008 is the only major database that includes comprehensive, tightly integrated functionality for data management as well as advanced business intelligence out of the box. By offering a complete solution, we save customers time and money and allow them to focus on deriving the most value from their data assets.”

With more than 450,000 customer and partner downloads of SQL Server 2008’s community technology previews (CTPs), more than 75 large-scale applications already in production and more than 1,350 applications being developed by nearly 1,000 independent software vendors (ISVs) on SQL Server 2008, it’s clear that customers and partners are excited about the capabilities now available in SQL Server 2008. Tim Whitehorn, founder and chief executive officer of event management software provider ServiceU Corp., said, “We selected SQL Server 2008 because we can entrust it with our critical business applications. SQL Server 2008 is highly secure and reliable, and offers the best value on the market today. In addition, it accelerates the time frame for deploying new features and enhancements, and that to us makes SQL Server a winner.”

A number of enterprise customers from various industries are testing SQL Server 2008 including Clear Channel Communications Inc., Fidelity Investments, Hilton Hotels Corp., Simon & Schuster Inc., Siemens AG and Xerox Corp., among many others.

SQL Server has been well-received in the analyst community. Noted Forrester Research Inc. analyst Noel Yuhanna wrote in a January 2008 report, “The Forrester Wave: Information-As-A-Service, Q1 2008,” “Microsoft is (one of) the only vendor(s) with top enterprise search and business intelligence reporting capabilities. It offers strong support for aggregation, summarization, search engine and dashboards. Transactions across distributed data sources and long-running transactions are also strengths for Microsoft.”

SQL Server is an industry leader in both scalability and performance. It is the first and only database management system to be proven capable of delivering scalable results on TPC-E, the Transaction Processing Performance Council’s (TPC) newest and most challenging online transaction processing (OLTP) benchmark, with 13 published benchmarks to date.1 Seven benchmarks are published on Windows Server 2008 and SQL Server 2008 by multiple hardware vendors, demonstrating strong price-performance and performance results, including IBM Corp.’s new No. 1 performance result using SQL Server 2008 on a 64-core System x3950 M2 server.2 Also demonstrating the performance of SQL Server 2008, Unisys Corp. and Microsoft set a new extract, transform and load (ETL) performance record by loading 1 terabyte of data in less than 30 minutes using SQL Server 2008 Integration Services. In addition, SQL Server 2008 has proven its scalability in large-scale data warehousing, as demonstrated by its recent 10-terabyte TPC-H benchmark.3

“We saw a 35 percent improvement in throughput on the system that we upgraded to SQL Server 2008, with no code changes on our end,” said Gary Oberg, vice president of IT and development at Applied Discovery (a member of the LexisNexis group). “This translates straight to the bottom line for us, as the more documents we can upload, the more we can process.”

Microsoft is setting additional benchmark records with ISV solutions, including a world record on four-socket industry-standard blade servers in a three-tier SAP Sales and Distribution (SD) Standard Application Benchmark, and demonstrated the largest benchmark ever on the Siemens Teamcenter digital product life-cycle management solution, Microsoft Dynamics CRM, Microsoft Dynamics AX and the Camstar Manufacturing Execution System solution.

SQL Server is a key component of the Microsoft Application Platform, a suite of products and technologies designed to help customers build, run and manage dynamic business applications. SQL Server 2008 is available in the following editions:

SQL Server 2008 Enterprise. SQL Server 2008 Enterprise is a comprehensive data management and business intelligence platform that provides enterprise-class scalability, data warehousing, security, advanced analytics and reporting support for running business-critical applications. With this edition, it is possible to consolidate servers and perform large-scale online transactional processing.

SQL Server 2008 Standard. SQL Server 2008 Standard is a complete data management and business intelligence platform that provides best-in-class ease of use and manageability for running departmental applications.

SQL Server 2008 Workgroup. SQL Server 2008 Workgroup is a reliable data management and reporting platform that delivers secure, remote synchronization and management capabilities for running branch applications. This edition includes core database features and is easy to upgrade to the Standard or Enterprise edition.

SQL Server 2008 Web. SQL Server 2008 Web is designed for highly available, Internet-facing Web-serving environments running on Windows Server. SQL Server 2008 Web provides the tools necessary to support low-cost, large-scale, highly available Web applications or hosting solutions for customers.

SQL Server 2008 Developer. SQL Server 2008 Developer allows developers to build and test any type of application with SQL Server. This edition features all of the functionality of SQL Server Enterprise but is licensed only for development, test and demo use. Applications and databases developed on this edition can easily be upgraded to SQL Server 2008 Enterprise.

SQL Server 2008 Express. SQL Server 2008 Express is a free edition of SQL Server that features core database functionality including all of the new SQL Server 2008 data types, in a small footprint. This edition is ideal for learning and building desktop and small server applications, and for redistribution by ISVs.

SQL Server Compact 3.5. SQL Server Compact is a free embedded database designed for developers and is ideal for building stand-alone and occasionally connected applications for mobile devices, desktops and Web clients. SQL Server Compact runs on all Microsoft Windows platforms, including the Windows XP and Windows Vista operating systems, and on Pocket PC and smartphone devices.

Pricing and Availability

SQL Server 2008 is now available to MSDN and TechNet subscribers and will be available for evaluation download on Aug. 7, 2008. SQL Server 2008 Express and SQL Server Compact editions are available for free download today at http://www.microsoft.com/sqlserver. As previously announced, pricing for SQL Server will not increase with SQL Server 2008. More information is available at http://www.microsoft.com/presspass/presskits/sqlserver.


 
Categories: News | SQL Server

Wow, guess what... it's me (David McCarter). I am so excited and proud of this award because it recognizes all of the hard work I have been doing in the Microsoft community here in San Diego for over 14 years. This includes running the San Diego .NET Developers Group, teaching at the University of San Diego California, speaking and helping at conferences including Code Camp, running this web site and writing books and more! Ever since I have became a programmer I have always had a big need to help others in their career. Except for my full-time job (which pays the bills), everything else I do is geared to satisfy that need.

As most user group leaders know, we don't get a lot of gratitude for what we do, so this is a great award to let us know that we are appreciated. I've had a lot of help along they way and they know who they are. I hope to continue to give back to the community as I am a programmer.

Info on the Award:

The INETA Community Excellence Award is given to individuals for their extraordinary efforts and prolonged contributions to the developer community at both the local and national levels. Through their commitment and passion, these people have made profound impacts that will be sustained for years. In honor of their accomplishments, the Community Excellence Award is a one-time award of recognition that will last a lifetime.

You can also go here for more info and to nominate the next winner! http://www.ineta.org/Champions/CommunityChampionInfo.aspx?Section=2


 
Categories: dotNetDave | News

Microsoft Sync Framework is a comprehensive synchronization platform for enabling collaboration and offline scenarios for applications, services and devices.

http://www.microsoft.com/downloads/details.aspx?FamilyID=C88BA2D1-CEF3-4149-B301-9B056E7FB1E6&displaylang=en


 
Categories: Link | News

The download that installs the Visual Studio Tools for the Office system 3.0 Runtime, which is required to run VSTO solutions for the 2007 Microsoft Office system built using Microsoft Visual Studio 2008 has been released.

http://www.microsoft.com/downloads/details.aspx?FamilyID=54EB3A5A-0E52-40F9-A2D1-EECD7A092DCB&displaylang=en

 


 
Categories: Link | News | VSTO

Getting command line parameters or seeing if they are present is not as easy as you would think. I whipped up some code to make this flexible and easy.

   Private Const ParameterPrefix As Char = "/"c
       
   Private Function GetCommandLineArgument(ByVal parameter As String) As String
      Dim paramValue = String.Empty
      For Each tempValue As String In System.Environment.GetCommandLineArgs
         If tempValue.Contains(ParameterPrefix + parameter + "=") Then
            paramValue = tempValue.Split(Char.Parse("="))(1).ToString().Trim()
            Exit For
         End If
      Next
      Return paramValue
   End Function
   Private Function CommandLineArgumentExists(ByVal parameter As String) As Boolean
      Dim exists = False
      For Each tempValue As String In System.Environment.GetCommandLineArgs
         If tempValue.Contains(ParameterPrefix + parameter) Then
            exists = True
            Exit For
         End If
      Next
      Return exists
   End Function
   Private Function GetCommandLineArgument(ByVal parameter As String, ByVal prefix As String) As String
      Dim paramValue = String.Empty
      For Each tempValue As String In System.Environment.GetCommandLineArgs
         If tempValue.Contains(prefix + parameter + "=") Then
            paramValue = tempValue.Split(Char.Parse("="))(1).ToString().Trim()
            Exit For
         End If
      Next
      Return paramValue
   End Function
   Private Function CommandLineArgumentExists(ByVal parameter As String, ByVal prefix As String) As Boolean
      Dim exists = False
      For Each tempValue As String In System.Environment.GetCommandLineArgs
         If tempValue.Contains(prefix + parameter) Then
            exists = True
            Exit For
         End If
      Next
      Return exists
   End Function

Usage:

 Debug.WriteLine(CommandLineArgumentExists("source"))
 Debug.WriteLine(GetCommandLineArgument("source", "-"))

Tip Submitted By: David McCarter


 
Categories: Development | VB.NET

Here is some easy, generic code to serialize your objects to and from JSON:

Public Shared Function JsonEncode(ByVal input As Object) As String
  Dim serilizer = New DataContractJsonSerializer(input.GetType)
  Using ms = New MemoryStream()
    serilizer.WriteObject(ms, input)
    Return Encoding.Default.GetString(ms.ToArray())
  End Using
End Function
Public Shared Function JsonDecode(Of T)(ByVal input As String) As T
  Using ms = New MemoryStream(Encoding.Unicode.GetBytes(input))
    Dim serilizer = New DataContractJsonSerializer(GetType(T))
    Return DirectCast(serilizer.ReadObject(ms), T)
  End Using
End Function
public static string JsonEncode(object input)
{
var serilizer = new DataContractJsonSerializer(input.GetType());
  using (var ms = new MemoryStream())
{
serilizer.WriteObject(ms, input);
    return Encoding.Default.GetString(ms.ToArray());
}
}
public static T JsonDecode<T>(string input)
{
using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(input)))
{
var serilizer = new DataContractJsonSerializer(typeof(T));
    return (T)serilizer.ReadObject(ms);
}
}

Tip Submitted By: David McCarter


 
Categories: ASP.NET | C# | JavaScript | VB.NET | Web Services | Generics

June 30, 2008
@ 02:33 PM

I recently started a new job that uses C#. I have been trying for two frickin hours to get Trace Listeners working in an application here with no luck at all. So to test that I have the web.config setup correctly, I added the following:

var log = new Microsoft.VisualBasic.Logging.Log();
log.WriteEntry("VB Log");

Bam, it works! Dang I LOVE VB.NET! Now I'm going to go ask my boss if I can use the VisualBasic.Logging class in our C# application ;-)

David McCarter


 
Categories: ASP.NET | VB.NET

If you live in the San Diego area, dotNetDave (a.k.a. David McCarter) will be teaching a 6 week Building Rich & Interactive Web Applications with ASP.NET AJAX course at the University of California, San Diego Extension beginning on Thursday 7/17/2008 from 5:30pm to 10:00pm. For more information and to enroll, please click here.


 
Categories: AJAX | ASP.NET | dotNetDave

June 1, 2008
@ 08:55 AM
Code

I hope everyone in southern California is planning to attend this years SoCal Code Camp up at University California San Diego on 6/28 - 6/29. It's always a great time and lots of free training! I will also be selling a limited number of my latest book "David McCarter's .NET Coding Standards" at my sessions for $11, cheaper than the web site (no tax and shipping), please bring exact change.

I will be presenting the following sessions and I hope you will attend.

dotNetDave's .NET Utility Assembly (My First CodePlex Project)

10:15 AM - Sunday, June 29, 2008 - Location: 141

zip_icon.gif dotNetDaves .NET Utility Assembly1.zip (1.11 MB)

CodePlex site: http://www.codeplex.com/dotNetTipsUtility

Building Rich & Interactive Web Applications with ASP.NET AJAX Part 1

8:45 AM - Saturday, June 28, 2008 - Location: 129

zip_icon.gif Building Rich & Interactive Web Applications with ASP.NET AJAX.zip (1.83 MB)

Building Rich & Interactive Web Applications with ASP.NET AJAX Part 2 

12:15 PM - Saturday, June 28, 2008 - Location: 129

zip_icon.gif Building Rich & Interactive Web Applications with ASP.NET AJAX Part 2 - 20081.zip (1.82 MB)

Why You Need .NET Coding Standards (2008)

1:45 PM - Sunday, June 29, 2008 - Location: 127

zip_icon.gif Why You Need .NET Coding Standards-20081.zip (2.86 MB)

Pictures and Video

Fullerton Code Camp - JAN 2008

Pictures from This Years Code Camp:

Pictures from past SoCal Code Camps:

Video from past Code Camps:

 


 
Categories: .NET | AJAX | ASP.NET | Code Camp | Csharp | Defensive Programming | Development | dotNetDave | News | VB.NET

As you might find out the hard way, the .NET redistributable does not include the files required for the Reporting Services ReportViewer control. This is an issue for web servers when deploying ASP.NET applications that use this control. You can download the redistributable files below:


 
Categories: ASP.NET | Link

Ever wonder what all the shortcut keys are in Visual Studio? Well now you can print a poster of them:


 
Categories: Link | VS.NET