快速业务通道

构建 ASP.NET AJAX 开发环境

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-13
意到它,不过,了解这些配置,对于用好 ASP.NET AJAX 也是必不可少的。

  在此仅对所有的配置元素进行了简要的介绍,在以后的使用中再详细对他们进行说明。

  在新的 Web 站点中使用 ASP.NET AJAX Web 配置文件

  当创建一个新的 ASP.NET AJAX Web 站点时,可以使用提供在安装包中的 Web.config 文件来添加配置设置。在 Visual Studio 中,用于 Microsoft ASP.NET AJAX 的 Web.config 文件在创建新的 “ASP.NET AJAX-enabled Web Site”时就已经包含在项目中。

  如果要手工添加一个 Web.config 到新建的 Web 站点中,可以从安装目录获取它的一个副本,将它复制到站点的根目录下即可。默认情况下,该文件被放在下列位置:

  驱动器:"Program Files"Microsoft ASP.NET"ASP.NET 2.0 AJAX Extensions"v1.0.nnnn

  添加 ASP.NET AJAX 配置元素到已存在的 Web 站点中

  对于一个已存在的站点,通常有一些值是要保留的,在这种情况下,就可以添加新的 ASP.NET AJAX 配置元素到已存在的 Web.config中去。

  新的元素是下列配置节的组成部分:

  1.    <configSections>元素
  2.    <controls>元素
  3.    <assemblies>元素
  4.    <httpHandlers>元素
  5.    <httpModules>元素
  6.    <system.web.extensions>元素
  7.    <system.webserver>元素

  <configSections>元素

   <configSections>元素创建了用于 SystemWebExtensionsSectionGroup 类的配置节和子配置节,可以为<system.web.extensions>元素中的这些节设置属性。

  下列示例展示了用于 ASP.NET AJAX 的元素,可以将它添加到已存在的 Web.config 文件中做为<configuration>元素的子元素。更详细的信息,请参见 4.2.6 <system.web.extensions>元素。

<configuration>
  <configSections>
    <sectionGroup name="system.web.extensions"
        type="System.Web.Configuration.SystemWebExtensionsSectionGroup,
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
        PublicKeyToken=31bf3856ad364e35">
      <sectionGroup name="scripting"
        type="System.Web.Configuration.ScriptingSectionGroup,
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
        PublicKeyToken=31bf3856ad364e35">
          <section name="scriptResourceHandler"
            type="System.Web.Configuration.ScriptingScriptResourceHandlerSection,
            System.Web.Extensions, Version=1.0.61025.0,
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            requirePermission="false"
            allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices"
            type="System.Web.Configuration.ScriptingWebServicesSectionGroup,
            System.Web.Extensions, Version=1.0.61025.0,
            Culture=neutral, PublicKeyToken=31bf3856ad364e35">
          <section name="jsonSerialization"
              type="System.Web.Configuration.ScriptingJsonSerializationSection,
              System.Web.Extensions, Version=1.0.61025.0,
              Culture=neutral, PublicKeyToken=31bf3856ad364e35"
              requirePermission="false" allowDefinition="Everywhere" />
          <section name="profileService"
              type="System.Web.Configuration.ScriptingProfileServiceSection,
              System.Web.Extensions, Version=1.0.61025.0,
              Culture=neutral, PublicKeyToken=31bf3856ad364e35"
              requirePermission="false"
              allowDefinition="MachineToApplication" />
          <section name="authenticationService"
              type="System.Web.Configuration.ScriptingAuthenticationServiceSection,
              System.Web.Extensions, Version=1.0.61025.0,
              Culture=neutral, PublicKeyToken=31bf3856ad364e35"
              requirePermission="false"
              allowDefinition="MachineToApplication" />
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>
</configuration>

  <controls>元素

   <controls>元素注册了在 System.Web.Extensions 程序集中的 ASP.NET AJAX 命名空间,并为这些命名空间映射 asp 标记前缀别名。在ASP.NET AJAX 命名空间中的控件可以用以下形式在 Web 页面中使用:

<asp:ScriptManager ID="ScriptManager1" runat="server" />

  下列示例展示了用于 ASP.NET AJAX 的<controls>元素,可以将此节添加到已存在的 Web.config 文件中做为<system.web><pages>元素的一个子元素:

<system.web>
  <pages>
    <controls>
      <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions,  Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </controls>
  </pages>
</system.web>

  <assemblies>元素

   <assemblies>元素注册 System.Web.Extensions 程序集。

  下例示例展示了用于 ASP.NET AJAX 的<assemblies>元素,可以将此节添加到已存在的 Web.config 文件中做为<system.web><compilation>元素的一个子元素:

<system.web>
  <compilation>
    <assemblies>
      <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </assemblies>
  </compilation>
</system.web>

  如果要调试该程序集,可以添加 的属性 debug="true" 。

  <httpHandlers>元素

   <httpHandlers>元素添加用于脚本请求的新的处理程序。

  下例示例展示了用于 ASP.NET AJAX 的<httpHandlers>元素,可以将此节添加到已存在的 Web.config 文件中做为<system.web>元素的一个子元素:

<system.web>
  <httpHandlers>
    <remove verb="*" path="*.asmx"/>
    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler,
        System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
  </httpHandlers>
</system.web>

  <httpModules> 元素

   <httpModules> 元素定义在 ASP.NET AJAX 中使用的 HTTP 模块。

  下例示例展示了用于 ASP.NET AJAX 的<httpModules> 元素,可以将此节添加到已存在的 Web.config 文件中做为<system.web>元素的一个子元素:

<system.web>
  <httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions,
        Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </httpModules>
</system.web>

  <system.web.extensions>元素

    <system.web.extensions>元素提供了配置如何调用 Microsoft ASP.NET AJAX 应用程序中的 Web 服务的元素。<jsonSerialization>元素指定定制类型的转换器以覆盖 JSON 串行化的默认设置,<converters>元素指定定制的类型转换器。 。<authenticationService>元素用于使身份认证服务可用或不可用。<profileService> 元素用于使个性化信息服务可用或不可用,并指定服务暴露的属性。<scriptResourceHandler>  元素用于使缓存可用或不可用,以及由脚本使用的资源压缩。

   <scriptResourceHandler>元素、 <authenticationService>元素和<profileService> 元素只能定义在 Machine.config 文件或应用程序根目录下的 Web.config 文件中。<jsonSerialization>元素则还可以定义在Web 站点的子文件夹下的 Web.config 中。

  下例示例展示了用于 ASP.NET AJAX 的<system.web.extensions>元素,可以将此节添加到已存在的 Web.config 文件中做为<configuration>元素的一个子元素:

<system.web.extensions>
  <scripting>
    <webServices>
    <!-- 定制 maxJsonLength 并添加一个定制的 JSON 转换程序。 -->
      <!--
      <jsonSerialization maxJsonLength="500">
        <converters>
          <add name="ConvertMe"
             type="Acme.SubAcme.ConvertMeTypeConverter"/>
        </converters>
      </jsonSerialization>
      -->
      <!-- 使论证服务可用,如果合适包括 requireSSL="true" 。-->
      <!--
      <authenticationService enabled="true" requireSSL = "true|false"/>
      -->

      <!-- 使个性化服务可用。要允许在 ASP.NET AJAX 应用程序中获取或修改个性化属性,
        需要将每个属性的名称添加到 readAccessProperties 和 writeAccessProperties 属性中。 -->
      <!--
      <profileService enabled="true"
        readAccessProperties="propertyname1,propertyname2"
        writeAccessProperties="propertyname1,propertyname2" />
      -->
    </webServices>

    <!-- 开启对客户端脚本文件的压缩或缓存的支持。 -->
    <!--
    <scriptResourceHandler enableCompression="true"
        enableCaching="true" />
    -->
  </scripting>
</system.web.extensions>

  <system.webserver> 元素

   <system.webserver> 元素包含用于 Microsoft Internet 信息服务(IIS) 7.0 的配置设置。

  下例示例展示了用于 ASP.NET AJAX 的<system.webserver> 元素,可以将此节添加到已存在的 Web.config 文件中做为<configuration>元素的一个子元素:

<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <modules>
    <add name="ScriptModule"
      preCondition="integratedMode"
      type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </modules>
  <handlers>
    <remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
    <add name="ScriptHandlerFactory" verb="*" path="*.asmx"
      preCondition="integratedMode"
      type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptHandlerFactoryAppServices" verb="*"
      path="*_AppService.axd" preCondition="integratedMode"
      type="System.Web.Script.Services.ScriptHandlerFactory,
      System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
      PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptResource" preCondition="integratedMode"
      verb="GET,HEAD" path="ScriptResource.axd"
      type="System.Web.Handlers.ScriptResourceHandler,
      System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,
      PublicKeyToken=31bf3856ad364e35" />
  </handlers>
</system.webServer>

  总结

  总的来说,构建一个 ASP.NET AJAX 的开发环境还是很简单的。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号