Thanks, Andrew. I'll start poking around in the Google group threads at http://groups.google.com/group/dotnetopenid/
I found an answer to my original issue, which had to do with the lack of an HttpContext object in C# WebServer. The OpenIdRelyingParty object tries to grab the HttpContext and fails using the default constructor. By passing a null for IRelyingPartyApplicationStore,
I could simply put DotNetOpenId in stateless mode instead.
OpenIdRelyingParty openid = new OpenIdRelyingParty(null);
But now I'm getting a "No OpenID endpoint found" error when I call
I think that usually indicates a proxy error, but I've got some more digging to do.