1

我是使用 .NET 进行开发并从事个人项目的新手。我的项目将允许用户创建自己的简单移动网站。

我想编写一个处理伪子域的 HTTP 模块。

我已经设置了我的 DNS 通配符so sub.domain.comxxx.domain.com指向同一个应用程序。我希望能够从sub.domain.com/pageID.htmlURL 中提取子和 ID 部分,并从数据库服务器加载页面设置,以便构建页面并将其呈现给客户端。

我可以使用 URL 重写工具来做到这一点isapirewrite,但我希望我的应用程序独立于操作系统,以便服务器不需要安装任何 3rd 方应用程序。

是否可以使用 HTTP 处理程序来做到这一点?

任何人都可以发布一个例子吗?

4

1 回答 1

5

您可以随时查看域名。在哪里执行取决于您的应用程序的目标。例如,如果您想根据域提供不同的页面,您可以这样做:

public class MyModule : IHttpModule
{
    public void Dispose()
    {
    }

    public void Init(HttpApplication context)
    {
        context.BeginRequest += context_BeginRequest;
    }

    void context_BeginRequest(object sender, EventArgs e)
    {
        HttpApplication app = sender as HttpApplication;
        string host = app.Request.Url.Host;
        if(host == "first.domain.com")
        {
            app.Context.RewritePath("~/First.aspx");
        }
    }
}
于 2009-01-15T20:22:39.553 回答