你的位置:首页 > ASP.net教程

[ASP.net教程]发布网站的步骤和遇到的问题


步骤:

1.打开Internet信息服务(IIS)管理器,先添加一个网站(输入网站名称,物理路径,ip地址,端口号)

2.选择功能视图里的请求筛选,允许文件扩展名(输入.aspx)

3.选择功能视图里的ASP,将调试属性里的"将错误发送到浏览器"和行为里的"启用父路径"的值设为“true”

4.根据实际情况设置应用程序池的".NET Framework 版本"和"托管管道模式"

报错:HTTP错误 500.22 -Internal Server Error检测到在集成的托管管道模式下不是用的ASP.NET设置

修改:将"托管管道模式"从集成模式改成经典模式

报错:未能加载文件或程序集“xxxxx”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。

修改:根据程序的版本号修改".NET Framework 版本"[******若修改".NET Framework 版本"后 ,报错"请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。"则必须执行步骤5**********]

5.选择功能视图里的处理程序映射,根据实际情况添加脚本映射,

请求路径:*.aspx或*.axd或*.asmx或...根据具体情况来添加

可执行文件C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll  

              C:\WINDOWS\Microsoft.NET\Framework64\v1.1.4322\aspnet_isapi.dll  

              其中 v1.1.4322对应的是.NET Framework 版本

名称:随意

 

 

扩展:

扩展名为ashx与为axd基本上是一样的,都是用于写web handler,可以通过它来调用IHttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。

唯一不同的地方是:axd扩展名的必须要在web.config中的<httpHandlers>中进行注册,而ashx直接在项目中当成aspx那样添加使用即可。

所以在项目的添加文件中,向导只有添加ashx文件的模板,而没有添加axd文件的模板。

如果你的web handler代码不在Web的项目中的话,那你就不能使用ashx了,因为如果不在web.config中注册的话,系统根本不知道要在那个dll库中才能找到相应的代码。
如:
<add verb="*" path="OpenSearch.axd" type="Company.Components.HttpHandler.OpenSearchHandler, (命名空间.类名)Company.Extensions(.dll文件名)" validate="false"/>
只有注册了,web才知道OpenSearch.axd原来是在Company.Extensions.dll中,使用Company.Components.HttpHandler.OpenSearchHandler类处理。
当然你搞个<add verb="*" path="OpenSearch.ashx" type=.... 那也未免不可,习惯规范而已。