二级域名重写的例子


发布时间:2016/4/19 13:32:55  次浏览  作者:admin

<%@ WebHandler Language="C#" Class="DTcms.Web.dev.index" %>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DTcms.Common;
using DTcms.DBUtility;
using NetWing.Common.Data.SQLServer;
using NetWing.Common.Request;
using DTcms.API.Payment.Alipay;
namespace DTcms.Web.dev
{
    /// <summary> 
    /// 用户绑定类
    /// </summary> 
    //alipay1 这个类可以自定义 必须和上面保持一致
    public class index : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {

            string requestDomain = HttpContext.Current.Request.Url.Authority.ToLower(); //获得来源域名含端口号
            //context.Response.Write("bb<h1>" + requestDomain + "aa</h1>");
            switch (requestDomain)
            {
                case "news.nanya.net.cn"://新闻
                    showurl("http://news.nanya.net.cn/news-list0.html");
                    break;
                case "caijing.nanya.net.cn"://财经
                    showurl("http://caijing.nanya.net.cn/finance/list-0.html");
                    break;
                case "www.nanya.net.cn"://首页
                    context.Response.Redirect("index.html");
                    break;
                case "nanya.net.cn"://首页
                    context.Response.Redirect("index.html");
                    break;
                default:
                    context.Response.Redirect("index.html");
                    break;
            }

            //业务逻辑放在这里

            //业务逻辑放在这里




        }

        public static void showurl(string url)
        {
            System.Net.WebRequest request = System.Net.WebRequest.Create(url);
            System.Net.WebResponse response = request.GetResponse();
            System.IO.Stream stream = response.GetResponseStream();
            System.IO.StreamReader streamreader = new System.IO.StreamReader(stream, System.Text.Encoding.GetEncoding("utf-8"));
            string content = streamreader.ReadToEnd();
            HttpContext.Current.Response.Write(content);
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}