urlrewriter.cs

来自「ASP.NET简洁论坛源代码 这是一个简单的论坛」· CS 代码 · 共 49 行

CS
49
字号
using System.Web;
using System.Collections;
using System.Text.RegularExpressions;
using NetFocus.Web.Core;

namespace NetFocus.Web.Applications.Forum
{
    public class UrlReWriter
    {
        private static UrlReWriter instance = null;
        private static Regex ReWriteFilter = null;

        private UrlReWriter()
        { 
            
        }
        public static UrlReWriter Instance()
        {
            if (instance == null)
            {
                instance = new UrlReWriter();
            }
            return instance;
        }

        static UrlReWriter()
        {
            ReWriteFilter = new Regex(UrlsData.Instance().LocationFilter, RegexOptions.IgnoreCase | RegexOptions.Compiled);
        }

        public string GetRewrittenUrl(string path, string queryString)
        {
            string newPath = null;
            if(!ReWriteFilter.IsMatch(path))
            {
                Location location = UrlsData.Instance().Locations.FindLocationByPath(path);
                if(location != null)
                {
                    newPath = location.ReWriteUrl(path,queryString);
                }
            }
            return newPath;
        }
        public void RewriteUrl(HttpContext context, string newPath, string queryString)
        {
            context.RewritePath(newPath, null, queryString);
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?