博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

<译文>ASP.NET在IIS上什么地方?

Posted on 2008-07-29 17:24  papaya73  阅读(693)  评论(0编辑  收藏  举报

     ASP.NET在IIS上什么地方?

     原文:http://blogs.msdn.com/vijaysk/archive/2008/03/20/running-asp-net-3-5-on-iis.aspx
     许多人在服务器安装完.NET 3.5后,就期待在IIS管理器的ASP.NET版本栏中会出现3.5的入口。但结果并未看到那个入口而造成惊慌。如果你有这种情况请接着往下看。另一些水平较高的就试着在3.5版的framework目录下运行aspnet_regiis -i.. 但是仍没有找到。
 

     

这就给我们带来下面的问题


     ASP.NET 3.5究竟是什么?
     查看一下3.5版本的framework目录你并不会找到许多ASP.NET运行所必需的文件像aspnet_isapi.dll / aspnet_filter.dll /
aspnet_regiis.exe / aspnet_regsql.exe...

     原因在于.NET 3.5不是一个类似v2.0或v1.1那样的独立framework.它只是2.0 framework的扩展。这个扩展提供给开发者一些新的语言特征如匿名类型,扩展方法,lambda表达式,当然还有LINQ...AJAX也集成了进来.. 你还可以使用一些新的ASP.NET控件如<asp:ListView>, <asp:LinqDataSource>, <asp:DataPager>


     在IIS 6.0中ASP.NET栏中能ASP.NET 3.5吗?
     不行。因为.2.0版本文件夹中的aspnet_isapi.dll仍用来处理请求,3.5版本并没有新的ISAPI dll。那么你不用更改IIS中的任何脚
本映射...只需将web应用程序指向ASP.NET栏中的2.0版本。这给我们带来下一个问题:

 

     究竟扩展了那些内容?
     如果你使用Visual Studio 2008创建了一个website并选择使用.NET 3.5 framework。打开该website的属性页选择“引用”。你会看到以
下条目:

 

     

这四个程序集引用提供了v3.5的新特征。其中包含了功能性改进。
  System.Core - Provides namespaces like System.Linq, System.IO

          System.Data.DataSetExtensions - LINQ to DataSet

          System.Web.Extensions - AJAX

          System.Xml.Linq - New XML API.. supports LINQ to XML


     我还需要手工配置吗
     不需要。你在服务器端安装完.NET 3.5分发包后就会在GAC安装这些程序集。任何引用这些程序集的站点会从GAC中获取程序集。你不
需要再手工配置任何东西。你所需要做的就是发布内容到ASP.NET v2.0的web应用程序。
     那么你会认为

 

     新语言特性需要新的编译器。新编译器究竟是怎么使用的呢?
     答案在你的文件中。当你在Visual Studio 2008 创建一个ASP.NET 3.5站点时,在web.config中建立了类似以下的入口
     <system.codedom>
       <compilers>
         <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"  type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089">
           <providerOption name="CompilerVersion" value="v3.5"/>
           <providerOption name="WarnAsError" value="false"/>
         </compiler>
     新特性确实需要使用新的编译器,而由web.config来通知.NET应使用v3.5编译器。


     在IIS 7.0应如何操作呢?
     IIS 7.0是一样的。