我可以将 URL 重写 http 模块放在文件夹中吗?

Posted

技术标签:

【中文标题】我可以将 URL 重写 http 模块放在文件夹中吗?【英文标题】:Can i put URL rewriting http module in a folder? 【发布时间】:2010-12-17 06:13:22 【问题描述】:

我正在尝试创建一个通用的 URL 重写方法,并且我希望它具有可移植性,所以我查看了这篇文章:http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx,这非常好。

但是我想把我所有的类,http 模块放在一个文件夹中,然后我可以将这个文件夹粘贴到任何 asp.net 网站并编辑 web.config 以指向这个 http 模块,就是这样,不需要在APP_Code中添加任何内容作为本文教学。

我的问题是这可能吗?有什么浓缩的或更好的想法吗?

【问题讨论】:

【参考方案1】:

默认情况下,ASP.NET 运行时仅在有限数量的文件夹中查找它动态编译的代码文件——App_Code(及其子文件夹)就是其中之一。如果将代码放在任意文件夹中,将找不到。

您所描述的通常方法是构建一个 DLL,然后将其放入网站的 bin 文件夹中。然后,您将在 Visual Studio 中有一个单独的项目来构建 DLL。在 App_Code 中使用子文件夹是另一种可能性。

您还可以将您的 DLL 放入 GAC,这样服务器上的所有站点都可以访问它。

【讨论】:

【参考方案2】:

您始终可以将该代码编译为程序集 (.dll),将其放在您的 /bin 文件夹中并更新您的 web.config 文件。

【讨论】:

以上是关于我可以将 URL 重写 http 模块放在文件夹中吗?的主要内容,如果未能解决你的问题,请参考以下文章

Resin的Rewrite模块重写URL后如何对页面访问?

HTTP 错误 500.52 - Docker 上的 URL 重写模块错误

使用 IIS 7 重写模块重写 & 符号 URL

HTTP错误500.52 - URL重写模块错误。

IIS URL 将模块 url 重写为小写

thinkphp在iis下如何写规则url重写