7

我正在使用Web 部署项目来预编译我的ASP.NET 3.5 Web 项目。它为 aspx 和 ascx 文件中的代码创建一个额外的 DLL。而且,对于每个 aspx 文件,都有一个占位符 aspx 文件(空),需要将其复制到服务器。

我想简化部署过程。有没有办法(配置 IIS 站点并添加某种 http 处理程序等)来摆脱这些 aspx 占位符

另外,我想知道是否有办法摆脱 bin 文件夹中的.compiled 文件。这将使部署过程更加顺畅。

谢谢!

4

2 回答 2

6

我自己发现的。这比我想象的要容易得多(IIS 6.0):

在 Internet 信息管理器中转到站点的属性页,然后选择选项卡“主目录”并单击按钮“配置...”。

单击 .aspx ISAPI 扩展名的“编辑...”并取消选中“验证该文件是否存在”。此时,不再需要 aspx 文件。

替代文字

更新

一件重要的事情:我必须在应用程序的根目录中创建一个空的“default.aspx”文件,以便允许像“ http://www.example.com/ ”这样的请求使用默认文档(不调用 aspx) .

更新 2

另一件非常重要的事情:如果您使用的是 ASP.NET Ajax PageMethods,那么您必须保留该页面的 aspx 占位符。如果您省略该文件,浏览器上将抛出一个 javascript 'PageMethods is undefined'错误。

于 2009-01-08T15:39:48.827 回答
0

如果可能,那么它至少需要在 IIS 中将所有可能的请求映射到 asp.net 引擎。不是很困难。然后,一个 HttpHandler 应该可以拦截所有传入的请求。然后该处理程序应该能够动态加载已编译的页面类并呈现它们。您基本上将拥有一个提供页面内容的引擎 DLL。

但正如您可能已经从所有应该注意到的那样,这不是一件容易完成的事情,我怀疑它是否真的值得麻烦。这些占位符文件到底有什么问题?

于 2009-01-08T14:13:28.687 回答