<译文>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是一样的。