Welcome to MSDN Blogs Sign in | Join | Help

There's a new blog in town and it's name is Smart Client Data.  I just met Steve Lasker last night at that .NET Developers Association user group in Redmond.  Steve is a Program Manager on the Visual Studio Data Designtime team at Microsoft.  We were chating about my passion "Smart Client and Offline Scenarios" when he told me about this blog and some of the examples he has up there. Here are some pointers to the samples Tech Ed '05: Client and Middle Tier Data Caching with SQL Server 2005  and Tech Ed ’05: Windows Forms: Making the Most of WinForms 2.0 Data Binding.  I'm sure this will be a great blog.  Steve was answering most of the tough questions at the user group and he wasn't the presenter so he know his stuff.

 

There is a good chance that you have seen this list, but if you haven't it is a must.  Scott Hanselman has produced an awesome list of tools with brief descriptions called "Scott Hanselman's 2005 Ultimate Developer and Power Users Tool List".  The list is too much to take in a once, so to give you an overview, here are the categories he has:

  1. The Big Ten Life and Work-Changing Utilities
  2. A Developer's Life
  3. The Angle Bracket Tax (XML/HTML Stuff)
  4. Regular Expressions
  5. Stuff I Just Dig
  6. Low-Level Utilities
  7. Websites and Bookmarklets (that change the way you work)
  8. Smart People and their Pages for Utils They Wrote
  9. Browser Add-Ins
  10. Things Windows Forgot
  11. Ultimate Registry Tweaks
  12. Windows Explorer Integration (and other Itegraty things)
  13. Continuous Integration
  14. TabletPC Indispensables
  15. ASP.NET Must Haves
  16. Visual Studio.NET Add-Ins

Thanks Scott, this list is awesome!

 

Hey all,

I have been away from the blog world for quite a while now because I forgot my password. Duh!  My last day at Microsoft was in April and in the transition to starting my consulting company Blue Pen Solutions I forgot to switch my blog over to my new email.  I had it automatically logging me into my blog on my computer at Microsoft so I never needed my password.  Now a year since I started my blog it is tough to remember the password I used.  So I sat down and decided it was time to hack my password by going through every password I could think of that I have used and all the possible combinations of upper case and lower case.  I finally figured it out and it was "password"  ha! Just kidding, or am I.

Part of me writing this is to cement in that I am to keep up on my blog and write frequently.  It's kind of like when you are going to stop smoking, you are suppose to tell everyone you know so that they hold you accountable.  Well I really want to blog and share the things I learn so everyone can benefit.  I know I learn from all the other bloggers and would like to give some back.  So please hold me accountable.

If you have topics you would like to hear about, please by all means send me your requests.  I always like to play around with different things and even more so things that would benefit others.

Take care,

Tom

The ASP.NET 2.0 Beta QuickStarts have recently been updated and I must say they are looking pretty sweet.  There is tons of code and tons of documentation describing the code.  This live tutorial is an excellent starting point for newcomers to ASP.NET and is also a fantastic reference for existing users – check out the Class Browser feature, for example.  It also provides a live showcase of ASP.NET 2.0 features in action that anyone can view for themselves.

I like how they highlight the new 2.0 features at the top of each page and that they provide the ability to run the examples without needing to download the code.  I also love the class browser that looks to show every namespace class, method, property,… in the .NET Framework.  They still don’t have pages for methods, properties, and events, however, I assume this is coming.

Improvements over the Beta 1 QuickStarts include:

  • New polished look and feel
  • QuickStart infrastructure based on Whidbey features, such as SiteMap and MasterPages
  • Everett samples are included with the Whidbey samples
  • New control reference section
  • Integrated class browser
  • TreeView-based source viewer

Check the QuickStarts out at http://beta.asp.net/QUICKSTART/aspnet/default.aspx

If you have comments good or bad on the QuickStarts feel free to post them as feedback and I will get them to the people that make this happen.

Have you ever thought about blogging and wondered why we do this or what benefits it has?  What about how blogging may change the world?  Robert Scoble has posted a draft of the first chapter of the book he and Shel Israel are writing titled Blog or Die.  All in all I really liked their view points and I look forward to reading more.  I have had a chance to meet and talk with Robert twice now and both times I walked away thinking he is a really nice guy with a tons of thoughts on blogging and where to use it.  Actually, now that I think about it, our initial conversation is what prompted me to start blogging about a year ago.  Anyway, he will have great things to say in this book, possibly even profound.

For me, I write a blog for the fun of it.  I like to share some of the things I learn in hope that the reader will not struggle with the same issues I have.  I also get a kick out of seeing my name in different spots on the web.

[CALL TO ACTION]
I'm curious, for those of you that blog, why do you blog and for those of you that don't, why not?  Send you answers through the feedback for this post so everyone can see what you have to say.

 

When closing your application from code, for example in the File | Exit menu you should use Form.Close() (ie this.Close() or Me.Close) opposed to Application.Exit().  When calling Application.Exit everything is told to stop immediately and then the appplication is shutdown.  Resulting in events like Form.Closed and Form_Closing not being fired.  The MSDN documentation explains more precisely what happens - Application Exit Method 

GOOD
private void mnuFileExit_Click(object sender, System.EventArgs e) {
   
this.Close();   // Closes application nicely as you would expect.
}

private void FormMain_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
   
// Gets Fired, Yeah!
}

BAD
private void mnuFileExit_Click(object sender, System.EventArgs e) {
    Application.Exit();   // Brings application to a screeching halt. Leads to bugs.
}

private void FormMain_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
   
// Does not get fired, :(
}

This is your chance to help make Whidbey compatible with .NET Framework 2003.  Jay Roxe is asking for your corporate .NET Framework 2003 applications so Microsoft can test compatiblity. 

Check out Jay's post I need .NET Framework 2003 Applications!

When an exception occurs is thrown in your application, but is never caught the application ends up crashing.  Not exactly a user friendly application.  So that you can better handle these unhandled exceptions and at the minimum close the application gracefully you can provide an Unhandled Exception Handler.

 

Here is some code that shows how to do this.

 

[STAThread]

static void Main() {

 

// Add and event handler to handle unhandled exceptions.

Application.ThreadException += new ThreadExceptionEventHandler(OnUnhandledException);

 

Application.Run(new FormStartUp());

}

 

 

// Unhandled exception handler

static void OnUnhandledException(object sender, ThreadExceptionEventArgs t) {

 

// Do something to handle the exception, notify the user, and/or clean up resources.

 

}

 

This is the way that I do it in almost every application I have written.  Another option may be to use UnhandledException Handler of the AppDomain.  I'm not quite sure of the differences, however, here is a blog post that talks about AppDomain Unhandled Exception.

Today I inherited a computer which I was suppose to get IssueVision up an running on Whidbey the next release of Visual Studio.  Overall the process was very simple except for one problem that took more time than I would like.  I wanted to pass along the problem so maybe you would save yourself some frustration if you ever run into this problem.  After I started writing this, I thought you might be interested to hear about my experience converting an existing .NET Framework 1.1 application to 2.0.  So I combined the two into the following:

The machine I inherited came loaded with .NET Framework 2.0 Beta 2 and a recent internal build of Whidbey.  I started by downloading IssueVision and installing it.  Then loaded it in Whidbey where the conversion automatically began.  The conversion completed and it gave me a nice conversion report where there were errors in converting the web project which contains the web services.  After a bit of mucking around and experiencing the extreme slowness of the current build of Whidbey combined with the puny laptop, I decided to check out the Web project from IIS Manager.  What's this, IIS is not installed.  No wonder it doesn't work.  So I installed IIS and repaired IssueVision.  I verified the web projects were installed and then browsed to one of the web services which gave me the frustrating message of :

"A name was started with an invalid character. Error processing resources 'http:// ..'

Now I have seen messages like this before when converting my own xml with my own xslt and in those cases it is something I have done wrong.  However, with this I wasn't sure what was happening. I immediately jumped to the conclusion that the conversion of the project was at fault so I started looking for invalid characters and comparing the 2.0 version to the 1.1 version of IssueVision. Luckily I decided to post a message so that someone smart could help me out.  Justin Rogers came to the rescue and started talking about aspnet_regiis.exe and a bunch of other stuff which I didn't even read, because I went "duh", I should have checked that.  So into IIS manager I went, right click on Default Web Site, click properties, click Home Directory tab, clicked on configuration and to my surprise all the aspx file extensions were there.  "Dang, I thought for sure they wouldn't be there since I just installed IIS after everything else."  Back to Justin's email, "wait a minute, I'm on the wrong computer"  Double Duh.  So I turned to the correct computer and Yeah! the aspx extensions were missing.  

Ok now I just needed to install ASP.NET.  Open the command window, navigated to C:\WINDOWS\Microsoft.NET\Framework\v2.0.50117 and  ran aspnet_regiis.exe -i.  Install Successful.

This resulted in the web service working when I browsed to it.  So I opened IssueVision back up and tried to build it again.  There were errors all relating to the web service.  So I removed the web reference and then added it back again.  To my surprise it worked.  I have to say great job to the Whidbey developers, they have made it easy to convert 1.1 applications to 2.0.  Even though I had some difficulty it was basically due to not having IIS installed first. 

So it is looking good that we will be able to convert 1.1 applications to 2.0 easily.  However, just make sure you have IIS installed correctly before doing so.  If you don't, be sure to take a look at aspnet_regiis.exe.

Tom

This is a neat idea of how to help out with releif for the Tsunamis and get .NET expertise in return.  Below is the text form the EBay Auction, where .NET Experts are auctioning time to donate money.

The .NET Celebrity Auction for Aceh Aid at IDEP

Thirty of the top consultants and trainers in the worldwide .NET community have come together to help raise money for an organization that is doing amazing and heroic disaster relief in Aceh Province, Sumatra, the hardest hit area of the Dec 26th Tsunamis.

The organization is Aceh Aid at IDEP, headquartered in Bali. Because the organization is located in Indonesia, ALL of the money is able to go to help the victims. Below you will find an explanation about this project. You can also go to www.AcehAid.org to learn more. For a closer look at what they are accomplishing, visit the weblog of Susi Johnston, who is the Acting Emergency Director of Operations and Communications for Aceh Aid at IDEP.

The consultants in this auction are Michelle Leroux Bustamante, Kimberly L. Tripp, Jonathan Goodyear, Andrew Brust, Richard Campbell, Adam Cogan, Malek Kemmou, Jackie Goldstein, Ted Neward, Kathleen Dollard, Hector M Obregon, Patrick Hynds, Fernando Guerrero, Kate Gregory, Joel Semeniuk, Scott Hanselman, Barry Gervin, Clemens Vasters, Jorge Oblitas, Stephen Forte, Jeffrey Richter, John Robbins, Jeff Prosise, Deborah Kurata, Goksin Bakir, Edgar Sánchez, Thomas Lee, J. Michael Palermo IV, Vishwas Lele, and John Lam.

Buyers will bid to win one hour of consulting time from one of these 30 gurus. Starting bid is $100 with no reserve. There will be 30 winners. Winners can pick the brain of a .NET Expert for an hour. Highest bidders will be first in the “draft” for the consultant assigned to them. Winners can call, email or IM the consultant and use the hour to answer that nagging question, do a code review, or just get some general .NET advice. The winners and consultant are free to make other arrangements if they like.

There will be 30 winning bids. eBay rules require that all 30 winners pay the lowest bid price. Though you are only required to pay the lowest bid amount, remember the cause -- we hope that you will donate to Aceh Aid at IDEP the amount of your winning bid.

Payments are made directly to the Aceh Aid at IDEP PayPal account held by Tides Foundation which is a U.S. based 501c3 non-profit. Once the auction is closed, you will be contacted and asked to make this donation via PayPal to AcehAid@tides.org. This can be done from the eBay website, the PayPal site or even directly from the Aceh Aid at IDEP (hyperlink) website. When they have received the payments, the consultants will be assigned to the winners in order of the size of the donations (which we hope will be equal to your winning bid). You will receive an invoice from us, the sellers. All selling fees will be paid by the sellers as a contribution to making this charity event a success.

More details can be found at the EBay Auction.

Do you wish there was one place to look for articles on Smartphone programming that were already categorized?  Nauman Leghari's blog post is currently hosted on the Smart Client Developer Center where he categoriezed a bunch of articles and "kinda" made a book on Smartphone programming.

Here are a list of the chapters:

Chapter 1: Introduction to the .NET Compact Framework
Chapter 2: The Smartphone User Interface
Chapter 3: Smartphone Controls
Chapter 4: Graphics
Chapter 5: Files and Directories
Chapter 6: Mobile Web Services
Chapter 7: Working with Unmanaged Code
Chapter 8: Deploying Smartphone Application
Chapter 9: Interoperability
Chapter 10: Game Programming with Smartphone
Chapter 11: Advanced Topics
Chapter 12: What's Next
Other Resources (Links gathered from comments)

Cool, I wish I would have done that.  Thanks Nauman!

Do you ever find yourself cursing while developing with the .NET Compact Framework, wondering what the heck the Microsoft development team was thinking?  Here is your chance to put your two (or three, or more) cents in.  The .NET Compact Framework Team is looking for feedback from you, the one that uses this stuff, so they can build the future product releases the way you need them to be.  To submit your feedback, email it to: SDWISH@microsoft.com.

Here are a few examples of feedback the team is particularly interested in:

  •  specific feature requests for classes and api's
    • include a typical usage scenario, why it's important to you
  • show us what you've built with .NETCF!
    • send a link to your application's web page
  • what sort of general sample code would be useful?
    • I would love to see more examples showing ...
    • I'd like to see a white paper describing how ... works

Interested in getting ahead of the curve and learning about WinFX.  Check out the preliminary WinFX SDK.  http://winfx.msdn.microsoft.com/

We just published Service Pack 3 for the .NET Compact Framework 1.0.

Here's the link to the download page:

http://www.microsoft.com/downloads/details.aspx?FamilyId=A5A02311-194B-4C00-B445-F92BEC03032F&displaylang=en

 

Fixed Issues:

- Transitions between managed and native code can cause memory leaks on ARM platforms.

- A NullReferenceException is thrown when a Web Method returns an empty array using the xsi:Nil attribute.

- Modifying the SoapClientMessage.ContentType property does not modify the Http requests ContentType header.

- Stack corruption can occur on SH, MIPS and x86 platforms when local variables are created but never used.

- Invoking a multicase delegate from a catch handler throws a MissingMethodException on SH, MIPS and x86 platforms.

- Command line arguments containing double byte characters are truncated to a single byte.

- An ObjectDisposedException is thrown when a asynchronous web request is aborted before the response is received.

- Invoke on a disposed control hangs the application.

- Any array containing one or more elements is not sent to the Web Service correctly.

- An application may hang when invoking a Web Method that uses multiple XmlElementAttributes on a single argument, member or property.

- Memory corruption can occur on devices that have the native security model enabled and both .NET CF V1 SP3 and a pre-release version of .NET CF V2 installed.

- Deadlocks can occur when running under severe resource constraints.

- Tool Bar's on Windows Mobile 2003 SE no longer lose their images when removed from the form.

- An uncatchable ObjectDisposedException is thrown when the server closes the socket connection.

- Setting the Minimum and Maximum properties of a progressbar no longer crashes the application.

- Unexpected exception while adding an image to an imagelist on an Hx4700 and hx4705.

- Data Misalignment occurs on Decimal fields in MIPSIV devices.

Check it out, you can find out what operating system you are based on your personality traits.  The survey was a bit long (about 20 questions if my memory serves me), however, I did get a kick out of many of the answer selections.  I turned out being Windows XP.  Is that good?  I think so, Windows XP is my choice of OS at the time.

You are Windows XP. Under your bright and cheerful exterior is a strong and stable personality. You have a tendency to do more than what is asked or even desired.
Which OS are You?

I initially saw this post on Mark Artega's blog.

More Posts Next page »
 
Page view tracker