simulate virtual directory for each user

S

Scott M.

Could you be more specific as to why each user needs their own directory?
What would "Jack" get that requires him to have a different directory than
"Sue" or "Tom"?

I ask because ASP.NET can build content on the fly. Content can be cached
based on an url parameter (i.e. the user) so that different users get
different output. And, there are many more options to ensure that different
users to a site get different results.
 
A

Amir Eshterayeh

Dear Friends

Would you please give me your professional idea about this asp.net problem.

I need different virtual directory for different customer with their names
like these:
www.oursite.com/Jack
www.oursite.com/Sue
www.oursite.com/Tom

I have a asp.net project. It is a website and the content of it WebPages
comes from database.
To give each user a virtual directory, I have 2 options:
1. create a virtual directory for each user and copy the asp.net project to
each directory
This is not a good solution.
2. Copy all the files to root directory (www.oursite.com) and when users
type
www.ourwebsite.com/jack or www.ourwebsite.com/sue, I can figure out the name
(jack or sue) and get the id of the user from database and bring the content
of that user's web pages from database.

I put the following code into Application_BeginRequest event in Global.asax
file:

dim sFolderName As String = Request.ApplicationPath.ToString.Trim("/")
dim AgentID as long = GetAgentIdByFolderName(sFolderName) 'from the
database
WriteAgentIdToCookie(AgentID)
Server.Transfer("AgentHomePage.aspx")

After writing the agent Id to client's cookie, I redirect to agent home page
and at this page, I read cookie and get agent id and bring the agent info
like its picture URL and home page info from database.

The problem is: When I type : www.oursite.com/Jack
I faced this error: page can not be found!

Do you think global.asax is a good place to put this code? and also this
code: Request.ApplicationPath ? HttpRequest or something?
Is there a better way to get what user typed I mean the folder name that
comes after my website.

I got web hosting service from another company so I do not have any control
over that company's IIS. I could not found a way in its web hosting's admin
site to set the default page. Any page with default or index name will come
when I type www.oursite.com without including file name.

Please help. Thank you very much in advance

Best Regards
Andy Eshtry
 
S

Scott Allen

One way to achieve this functionality is to do URL rewriting.

In ASP.NET you write a class to implement the IHttpModule interface.
Attach an event handler to the HttpApplication object's BeginRequest
event. Inside the event handler you can determine who the user is, set
variables in the Context object to remember them (you can pull them
out during page processing), then do a Content.RewritePath to assign
an internal path to the resource. So the user may see
www.mycom.com/sue/default.aspx but this page doesn't actually exist.
You may internally be sending the runtime to process the request from
x:\wwwroot\userdefault.aspx.

You configure the new module into your application through an entry in
the <httpModules> section of web.config.

This technique is popular in a number of open source projects you can
look at (the Community Starter Kit at http://asp.net and .Text blog
engine). I'm sure with some searching you can find other references.
 
A

Amir Eshterayeh

Dear Mr. Scott and other friends
The point is my company sell the virtual directorys and give users
specific URL I mean www.mycom.com/sue or www.mycom.com/sandy
so that she can print the website with her name on her business card.
What are the ways I can show each user, typing the url I mention, his/her
specific content?
Thanks for your kind attention
Andy Eshtry
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top