Friday, May 28, 2004


I don't have a very warm track record with third party tools. In general, I have found most of them to be pretty complex to use and time consuming to learn to the point where it isn't worth me pursuing them.

So I downloaded the developer trial of dotnetcharting's component with pretty low expectations...


I had this tool installed and a simple sample chart up and running correctly in less than 20 minutes. Very impressive.

I am definately going to purchase this for my web application business once I um... find a customer and get the site up.

Wednesday, May 26, 2004

Getting excited

I'm getting really close to launching my ISV project! I actually registered a domain to hold my product offerings. The website is I doodled a little bit with the template tool that my host provided and put in some sample text.

Note that this isn't the final site by any means, I just felt like playing.

My experience with 1 and 1 as a hoster has been mixed. Their MS Developer package at $19.95 a month is pretty reasonable. Domain registration etc is a snap and their admin tools for email etc are pretty easy to use.

Their SQL Server tool needs work though. I found that it only takes imports/conversions via MS-Access, and I haven't seen a listing for stored procedures in the admin tool at all. I ran a create script in an attempt to push one into the background, but it didn't seem to work. This is pretty annoying since I favor webforms calling classes calling stored procs. I'll probably end up moving the sql into the classes.

On the bright side, I think Easy Assets .NET will be ready for demo by the end of the holiday weekend. I have a google ad-word campaign set up and ready to fire as soon as my website is completed.

For the first time now I can see the finish line!

Monday, May 24, 2004

Single application, multiple users with their own databases?

For no special reason I've been kicking around thoughts about the best way to manage connection string in an ASP .NET application where users each have their own database.

IE we have user A whose database is database A.
user B is in database B.

One solution is to have them log in with a domain user name, then parse the domain to a configuration key to snag their connection string on data access pages.

This seems kind of clunky to me though, any better ideas?

Monday, May 17, 2004

ASP .NET impersonation and LDAP

So we're working on getting a user's full name out of Active Directory services for headers in our webpages. Basically we just want to say "Welcome |your name|" somewhere in the header.

We built and tested a class that seemed to work fine, here's the code snippet:

public class User
string loginName;
string fullName;

public User(string LoginName)
loginName = LoginName;
fullName = GetDirectoryServiceProperty(loginName, "Name");

static string GetDirectoryServiceProperty(string ObjectName, string PropertyName)
DirectoryEntry de = new DirectoryEntry("LDAP://");
DirectorySearcher aSearcher = new DirectorySearcher(de);
StringBuilder filter = new StringBuilder();

filter.AppendFormat("(anr={0})", ObjectName);
aSearcher.Filter = filter.ToString();
SearchResult sr = aSearcher.FindOne();

if (sr == null)
throw new NullReferenceException("No such directory entry exists");

DirectoryEntry directoryObject = sr.GetDirectoryEntry();

return (string)directoryObject.Properties[PropertyName].Value;

public string LoginName { get { return loginName;} }
public string FullName { get { return fullName; } }

So we go ahead and deploy this to our web application, which is using windows authentication... and it gives us a null exception.

We poke around a bit and discover even though we were using windows authentication and the Context.User.Identity.Name property was returning a user name, the ASPNET account was the one trying to run the LDAP service which apparently is illegal by default.

Long story short, we added identity impersonate="true" to our web.config and everything started working fine.

Welcome to my world

Yeah, I've decided to start doing this blogging thing. Mostly this is going to be developer stuff that I've used at work for my own convenience.

I'm currently working in Visual FoxPro and C# .NET at the office and in C# at home where I'm working on starting a hosted application business.