Access common aspx help page in a another subdomain

For demonstration purposes for my new app I'm going to give each demo customer a complete separate website and DB under a separate sub-domain name.  I'm doing this so that the demo's don't crash each other and so they have better data separation.

I'd like to use just one "help" aspx page for all the demo websites.  I would put that help page in a "" sub-domain, and access it from the many demo subdomain/sites.  

The help page currently consists of many ascx elements.  

Alternatively, I could combine the help into a large html file.  However, I'd like to be able to check credentials that are added to the session variables during login.  So I have to do some processing in the help page for that.

I'm looking for ways to make this work.  Would The help page be just part of a separate website in the help subdomain that would be referenced with a specific URL and use URL variables for authentication?  Or is there some other way?

Any guidance on this would be appreciated.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I think you have 3 options:
Option 1 - Just host the help on each domain.
Option 2 - Host the help pages on a separate, 3rd domain, and redirect users to it.

However, I'd like to be able to check credentials that are added to the session variables during login
Unless you have some sort of SSO setup or your pass these details to the help pages when a user navigates, this will be difficult to accomplish if your help pages are hosted on a separate domain. This requirement is enough to favour Option 1, considering that you might not be wanting to spend time working on an SSO setup for the demos.

Option 3 - Modify your application to require a third parameter at login (or infer this parameter from the domain name). This third parameter could be seen as a Domain or a Company, and it will essentially just determine the connection string your application will use. This allows you to use the exact same copy of your web application, but connecting to different databases depending on the domain which the user specified when they logged on. So for example, a user logs on as "subdomain1\bill" and your application will see "subdomain" and route that request to the correct database. In your web.config, you could have connection strings named "subdomain1" and "subdomain2".

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
codequestAuthor Commented:
Thanks for your input.  This is encouraging.  

Option 1:  this would mean updating the help files in multiple locations.  During demo stage, the help file is likely to be the most volatile part of the app, which is why I would like to have just one copy of those files somewhere.

Option 2:    I've thought through a separate "Help" application, that I can access with an encrypted URL query string, which should be sufficient security for this stage of development.   So that's currently the first choice.

Option 3:   I've recently used the techniques for identifying domain name and modifying connection string, so I believe I can make that work, which would take care of the data separation.

A concern I have always had with multiple users using the same code base is my lack of understanding of how that works.   Due to that lack of understanding, I have had the concern that if one user encounters an error that halts execution, then that would affect other users.   (Now that I think about it, that couldn't make sense, because obviously sites can be accessed by thousands of user simultaneously.)

Still, it would be helpful for me if I could understand how different users of the same code are separated so that that would not happen.

Any guidance or pointers in that direction would be appreciated.
You answered yourself here:
Now that I think about it, that couldn't make sense, because obviously sites can be accessed by thousands of user simultaneously.
Keep in mind that in ASP.NET, requests run "separately" from others. The actual technicalities with how IIS and ASP.NET manage the work do get quite complicated fairly quickly ( But it should be enough to realise that each user's request is handled seperately from the rest and an exception that happens whilst processing a request for a user only affects processing for that user. It's not a destktop application :)
codequestAuthor Commented:
Thanks. I'm definitely going to move toward implementing option 3; it makes much more sense.  I have some learning to do on redirects and connection strings, however, those can be separate questions if needed.

Big help.  Grazie!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.