December 2004 - Posts

A Request for Halo 2 Stats RSS URLs
19 December 04 11:03 PM | Scott Mitchell

One of the cool features of Halo 2 are the stats available through Bungie's Web site, available at http://www.bungie.net/stats/. If you link your XBOX Live account with your Passport account, Bungie provides an RSS feed that contains the last dozen or so games you've played. In fact, a Microsoft employee created an Excel 2003 spreadsheet that can import the XML file and display nifty graphs and whatnot.

Anywho, I've been working on a toy project over the past week or so, whenever I could find a spare hour, that does some aggregation of these Halo 2 stats. What I am needing for testing purposes are some additional Halo 2 RSS feeds. If you have one available, could you please post the URL here on my blog or, if you'd rather, email it to me (mitchell@4GuysFromRolla.com)? The RSS feed URL can be gotten by going to the “My Stats” section on Bugie's Web site - http://www.bungie.net/Stats/PlayerStats.aspx - and then by clicking on the little orange XML button in the upper-right. (Note: you will first need to link your XBOX Live account to your Passport account, if you've not yet done so.) The stats URL should look something like: http://bungie.net/stats/halo2rss.ashx?i=someNumber&k=someNumber.

Thanks in advance!

Filed under:
ASP.NET v1.1 Member Management Component Prototype Released
14 December 04 09:33 AM | Scott Mitchell

As blogged about by Kent Sharkey, Scott Watermasysk, and others, the Microsoft ASP.NET v1.1 Membership Management Component Prototype has been released. The MMCP provides a set of classes to facilitate membership, role-based authorization, and authenticated and anonymous user profiles. The MMCP sets out to mimic the functionality of the membership and profile capabilities that will be part of ASP.NET 2.0.

Hate to complain, but I have a couple of issues witht he MMCP release as it currently stands:

  1. There's no documentation or examples. The download includes a Word document that discusses setting up the MMCP - installing the database entities and configuring the Web.config - but there are no code samples or working applications to show off the technology. True, this is being used, supposedly, by DotNetNuke 3.0, so you could download that and poke around the code, but it would be nice to have a very scaled back, working application included in the download.
  2. No source code is provided, just a pre-compiled assembly. Why not include both the pre-compiled assembly and source, for those that want to study this application in more depth? (Granted, you can just use Reflector, but it would be nice to have a tightly packaged VS.NET project with comments and whatnot.)
  3. Supposedly the license for using the MMCP is too restrictive. In the MMCP Forums, poster JocularJoe mentions that the EULA prohibits folks from using the MMCP is a production environment. I was unable to find a EULA in the downloaded files myself, so I can't confirm this, but I think what JocularJoe's comment stems from is that in DNN 3.0 there is a EULA with the MMCP that has some pretty limiting verbage.

Keep in mind that the MMCP is a prototype, which means, I suppose, that there will be a non-prototype version released. Hopefully one that has a more clearly defined EULA, contains source, and has some documentation. That's my fervent hope, but, to be honest, I wouldn't be terribly surprised if there was no such final version released. One only has to think back to the IE Web Controls to recall a product that was released as beta, but never had an RTM version. (And a product that had pretty sorry documentation.)

Filed under:
MSN Toolbar Suite Beta Released Today
13 December 04 06:27 PM | Scott Mitchell

From Slashdot.org:

Microsoft today released the MSN Toolbar Suite Beta. This brings true desktop search to Windows (for those who don't have Google Desktop Search or similar software running already) and also includes features like search term highlighting in web pages, auto-completing of forms, and a pop-up blocker.

Sadly, for me, it doesn't install on Windows 2003 Server. Why the heck not? Google Desktop Search has no problem installing on Win2k3 (and it's beta). Lookout works fine, too, and since Microsoft owns Lookout I wouldn't be surprised if their Toolbar Suite had a lot of Lookout's core functionality built in. I hope this “no install on Win2k3“ issue will be fixed by RTM.

For those using one of the supported operating systems (Windows 2000 SP4 or WinXP), care to share your experiences/thoughts/opinions? Currently I use Lookout - I uninstalled Google Desktop Search because (at this time) it won't let you specify file types to index (such as .cs files, .aspx files, .xml files, etc.). Also, what I'd like to be able to do is interact with the search results. Say I search for “DataGrid,” and get back a plethora of files. I'd like to be able to easily move a file from one folder to another, for example, or rename it. What GDS does have in spades, though, is a really killer UI, much nicer than Lookout's, especially with its integration with searches on Google.com.

Filed under:
Neat Little SQL Server 2000 Enterprise Manager Tip
10 December 04 12:33 PM | Scott Mitchell

I've been using SQL Server Enterprise Manager since 1998, but just today realized that you could, from the Tables listing, hit Ctrl+C on a table name and then go to a text editor and hit Ctrl+V and get the appropriate CREATE TABLE SQL syntax for the “copied” table (which includes constraints). Prior to this, when I've needed a table's T-SQL definition I've always right-clicked on the table name, gone to All Tasks and then selected Generate SQL Scripts. This latter approach affords more options (such as scripting multiple database entities, scripting dependent objects, adding DROP statements, etc.), but the simple “copy-paste” technique is a fast way to just grab the create script for a single table. (This handy shortcut works for stored procedures, too!)

On an aside, I noticed today that my blog, since its inception, has had over 1,000 comments from readers. (And I'm very certain those are high signal to noise ratio posts, since I am a bit pedantic about deleting/preventing blog comment spam.) A hearty thank you to those who have helped improve the content on my blog by adding your own commentary, anecdotes, experiences, and suggestions. Keep 'em coming!

Filed under:
What's the Largest ASP.NET Application You've Worked On?
09 December 04 12:18 PM | Scott Mitchell

Whenever working on relatively large projects, I often wonder to myself what size projects other developers around the ASP.NET community are working on. One of the ongoing consulting projects I am currently working on is a large intranet application to help a company automate a lot of processes that were all paper based. It's the largest project I've ever worked on myself, with around 75 tables in SQL, several hundred sprocs, about 85 classes abstracting common functionality, over 5,000 LOC for the DAL classes, and over 300 hours of billed work (spread over 1.5 years).

I don't mean for this to be a pissing contest, as I know my project (which has one developer - me) trembles to the sizes of projects worked on by large teams, but I am curious as to the sizes of projects those few kind soles who read this blog work on. So... you've seen my size, show me your's!

Filed under:
A Gaggle of Information on Self Publishing
08 December 04 03:57 PM | Scott Mitchell
Brian Bischof, author of the successful self-published book Crystal Reports for .NET, has provided a great resource discussing the ins and outs of self-publishing, which Brian calls Self-Publishing Tips. These tips cover the breadth of the self-publishing venture, from marketing, to editing, to page layout, to cover design, to printing. Brian points out estimated costs for each step, suggested companies, and provides a behind the scenes glimpse of how publisher, distributors, and retailers work in promoting and selling books to the public. A must read if you've ever considered self-publishing or just want to know more.
Filed under:
Viewing WSE Trace Files
03 December 04 03:13 PM | Scott Mitchell

One of the neat features of Microsoft's WSE Toolkit is that with the click of a button you can have all incoming and outgoing SOAP messages from a client or service recorded in trace files. These files, named by default InputTrace.webinfo and OutputTrace.webinfo, can be helpful for debugging or for gaining a deeper understanding as to the actual XML being scurried back and forth between a client and a Web service. One thing that's always irked me, though, is that these trace files are simply appended to with each run. This is fine and good, I guess, but it makes it hard to pick through these logs.

Every time I introduce WSE to my Web Services .NET students, I show them the tracing features, and have to sludge through opening the files in UltraEdit32, or Internet Explorer, and paging through the XML and finding the incoming and outgoing messages for the example we had just completed. Well, I decided enough was enough, so I spent this morning whipping up a simply WinForms application that allows you to load in trace files and view individual messages from them, one at a time, as the following screenshot illustrates (in the screnshot I am viewing just Message #9):

I also made it so that you can view the input and output XML for a given message number, as shown in the following screenshot:

If you'd like, you can download the application and complete source code (C#). I have to give a big caveat here, though: I am not an experienced WinForms developer by any stretch of the imagination, so you may find glaring UI errors, terrible design, and offensive source code. Be forewarned. I learned a lot of new things today and played around with things like isolated storage and resizing WinForm controls... things I've done zero times before, so the code may be littered with mistakes. Also, I do zero exception handling, so a missing file, or invalid permissions, or malformatted XML, and kablamo, the app's gonna bomb out on you.

Ok, enough of a caveat. Enjoy the program!

Cryptic WSE 2.0 Error (WSE032 "configuration error" and System.Net.Dns.GetHostName())
02 December 04 09:34 PM | Scott Mitchell

While I was teaching my .NET Web Services class tonight I stumbled upon an esoteric error with WSE 2.0 that I had not encountered before - an error that ruined two demos of mine. I had tried the demos literally 15 minutes before class and theyh worked great. When I had a full classroom, though, it crapped out. The error message I got was the standard WSE032, saying:

An unhandled exception of type 'System.Configuration.ConfigurationException' occured in microsoft.web.services2.dll

Additional information: WSE032: There was an error loading the microsoft.web.services2 configuration section

This is a pretty common error message when something has gone awry in WSE. For example, if you are using UsernameToken authentication, but mistype any values in the Web.config file you'll get this error. What was a bit perplexing was that, (a) the demos had worked earlier, and (b) the stack trace of the error message referred to a problem with System.Net.Dns.GetHostName(). As I said, my demos bombed out, but afterwards I did a quick search on Google and found this blog entry: WSE 2.0 (sp1 & earlier) - The mistory [sic] of error code WSE032.

This blog entry had a fix for my problem. It appears that WSE uses the GetHostName() method, and this caused some problems, perhaps because my computer's wireless connection died, or my DNS entries timed out, or something. Anywho, the solution - which worked for me - was to add a line to the HOSTS file in C:\WINDOWS\system32\drivers\etc. This did the trick. Probably the most esoteric bug I've faced in my experiences with Web services.

skmFAQs.NET Beta 1 Available for Download
02 December 04 10:59 AM | Scott Mitchell

A public Beta of skmFAQs.NET is now available for download from www.skmFAQs.NET. As I mentioned in an earlier blog entry, skmFAQs.NET is an ASP.NET 1.x Web application for providing an easy means to enter and create frequently asked questions by a trusted core of contributors.

Currently skmFAQs.NET is in Beta 1. I expect there are bugs I've yet to unearth. If you would like to tinker with skmFAQs.NET, please download a copy, install it, and let me know if you find any bugs, if you have suggestions for features or improvements on existing functionality, etc., etc. A hearty thank you to those who will download and report back on their impressions on skmFAQs.NET. Hapyp Tinkering!

Filed under:
Charting in ASP.NET with WebCharts
01 December 04 03:24 PM | Scott Mitchell

A while back I played around a bit with nSurvey and noticed that they used Carlos Aguilar Mares's free WebChart control to create the charts for the reports summarizing the survey results. One of the features in skmFAQs.NET that I have had in the codebase for a while is FAQ view tracking. That is, there's a method a page developer can call, passing in a FAQID that will record the date that a particular FAQ is viewed. (Typically the page developer would call this method on the page displaying a particular FAQ.) What I had yet to do was create some kind of report, showing the view information in a graphically-pleasing manner.

Today I downloaded Carlos's WebChart control and started tinkering. It's pretty easy to setup and start using, you just drop the assembly in the /bin, add the control to the Toolbox, and then drag and drop the WebChart control onto your page. You can customize a lot of the appearance through the Properties pane, and can easily bind database data or data from a strongly-typed collection to the chart with code like:

ColumnChart bc = new ColumnChart();
bc.DataSource = DataSource;
bc.DataXValueField = "ViewDateDay";
bc.DataYValueField = "Views";
bc.DataBind();

reportChart.Charts.Add(bc);
reportChart.RedrawChart();

The ColumnChart indicates that I want to add a bar graph series to the chart. I then set its DataSource property, in my case, a strongly-typed collection, and then set the DataXValueField and DataYValueField properties to the names of the properties in my STC that I want to have displayed in the graph. Finally I call the DataBind() method, add the chart to the Web control (which was named reportChart) and then call the RedrawChart() method. The end result is a report showing the number of FAQ views, either by a particular FAQ, by all FAQs in a particular category, or all FAQs across all categories:

As you can see, there are only views for the 29th & 30th of November, since that's when I wrote the FAQ tracking piece, but this should work moving forward.

Overall, the WebChart component is pretty cool. As I said, it was easy to start using it. The documentation is so-so, and can be downloaded here. There is also a number of online examples available on Carlos's Web site - these helped the most in getting started. One thing that I am finding a triffle annoying, though, is that the chart doesn't appear “smart” enough to be able to resize itself based on the size of the text in my chart title and axis labels. For example, if I add the X axis title of “Days of Month,” part of it is cut off by the chart. I have to manually adjust a Padding property until it's padded enough that the text isn't cut off. There are a couple other little issues like this - things you have to toy with manually to get it to look right, when ideally it would just look right automatically - but it's hard to complain too vehemently when you consider the price! :-)

More Posts

Archives

My Books

  • Teach Yourself ASP.NET 4 in 24 Hours
  • Teach Yourself ASP.NET 3.5 in 24 Hours
  • Teach Yourself ASP.NET 2.0 in 24 Hours
  • ASP.NET Data Web Controls Kick Start
  • ASP.NET: Tips, Tutorials, and Code
  • Designing Active Server Pages
  • Teach Yourself Active Server Pages 3.0 in 21 Days

I am a Microsoft MVP for ASP.NET.

I am an ASPInsider.