2010-01-18 38 views
2

我正在开发一个项目,您可以使用您的公司名称进行订阅,并且可以使用网站的所有功能特定于您的公司。 例如公司ABCD可以从我们的网站上获得自己的网址一样如何创建一个单独的网络应用程序作为许多公司的子域

www.test.com/abcd/productlist.aspx

公司EFGH也可以登录其自己的网址,看到其产品列表。

www.test.com/efgh/productlist.aspx

任何一个可以帮助我,我怎么能与我的网站实现这一带最好的办法

我想在将使用全球的办法。 ascx文件来区分公司, 我将编写代码从global.ascx中的url中提取公司名称,并且在所有页面中我将放入this.form.action = request.rawurl。

有没有其他方法?如果有人实施了这种功能,请让我知道你的方法。

感谢

回答

0

我没有发现充分五星级我的要求的任何解决方案,我已经写我自己的这个逻辑,它采用Global.ascx的的BeginRequest,登录页面,基本页面和为创建的公共类。我不再直接使用Asp.Net的Response.Redirect,路径和会话变量,而是创建了包装器,将公司名称从url添加到路径。

让我知道,如果你需要我的代码的详细信息

其他的答案是受欢迎的。

感谢

0

看看thesequestions
你的方法有一个名字。它被称为Multitenancy

+0

我没有发现上面全五星级我的要求给出任何解决方案,我已经写我自己的这个逻辑,它采用Global.ascx的的BeginRequest,登录页面,基本页和普通班的Response.Redirect创建。我不再直接使用Asp。网络的Response.Redirect,路径和会话变量,而不是我创建了包装他们将公司名称从URL添加到路径。 – 2011-11-05 13:24:09

+0

很高兴你找到了解决方案。 – 2011-11-08 02:46:39

1

如果您正在使用ASP.NET 3.5 SP1,那么您应该研究从MVC项目中引入的新routing engine。它将会提供一个干净的解决方案。

+0

感谢您的回答Ajw – 2011-06-10 11:20:22

+0

我不在MVC框架中工作 – 2011-11-05 13:28:10

1

我们正在使用从http://urlrewriting.net DLL和规则类似以下内容:

<urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07"> 
    <rewrites> 
    <add name="Customer" virtualUrl="^~/([^/]+)/([^/]+).aspx" destinationUrl="~/$2.aspx?customer=$1"/> 
    <add name="CustomerStart" virtualUrl="^~/([^/]+)/$" destinationUrl="~/Default.aspx?customer=$1"/> 
    <add name="CustomerStartAddSlash" virtualUrl="^http\://([^/]+)/([a-zA-Z0-9_-]+)$" 
             destinationUrl="http://www.example.com/$2/" 
             redirect="Domain" redirectMode="Permanent" /> 
    </rewrites> 
</urlrewritingnet> 

这些规则做以下映射。这些都是重写,因此用户总是能看到左手URL在他的浏览器:

Rule 1: http://www.example.com/customerA/something.aspx => http://www.example.com/something.aspx?customer=customerA 
Rule 2: http://www.example.com/customerA/ => http://www.example.com/Default.aspx?customer=customerA 

第三条规则是重定向,而不是一个重写,即,它确保了最后的斜线被添加在用户的浏览器(可以确保相对路径正常工作):

Rule 3: http://www.example.com/customerA => http://www.example.com/customerA/ 
+0

我试图使用您提供的方法,但我更愿意为此编写自己的代码, – 2011-11-05 13:29:47

相关问题