IIS6⇒IIS7网站注意点

来源:互联网 发布:nba常规赛数据 编辑:程序博客网 时间:2024/06/10 14:29

1.IIS7上关于对应WEB site的修改的一下配置会直接反映到web.config文件里面,所以source本身也要记得上传更新,以免丢失设置

比如MIME的设置;

2. WEB site如果存在假想site 那么如何消除主site和子site配置上的冲突

主site的Web.config  配置文件里不想被子site继承的部分加上<location ></location >标签
<location path="." allowOverride="false" inheritInChildApplications="false">
...
  </location>

如下

<location path="." allowOverride="false" inheritInChildApplications="false">
    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true" />
      <directoryBrowse enabled="false" />
    </system.webServer>
  </location>

3.如果一个网站放在2个服务器上,而且一台式是IIS6服务器另一台是IIS7服务器
那么就可能出现访问error
对策1:
Web.config中统一设置<pages EnableEventValidation="false"/>
对策2:
关联页面的属性设置一下:EnableEventValidation="False"

4.IIS7 handlers设定

Web.config  配置文件
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <handlers>
      <add name="css" path="*.css" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
    </handlers>
  </system.webServer>


4.因为有下面的代码IIS7上会出现Page_Load执行2次的问题。
①<%@ Page language="c#" Codebehind="***.aspx.cs" AutoEventWireup="True" Inherits="**" %>
② 
        override protected void OnInit(EventArgs e)
        {
            InitializeComponent();
            base.OnInit(e);
        }
        private void InitializeComponent()
        {
            this.Load += new System.EventHandler(this.Page_Load);
        }
ASP.NET 页框架支持以自动方式将页事件与方法相关联。如果 Page 指令的 AutoEventWireup 属性被设置为 true(或者如果缺少此属性,因为它默认为 true),该页框架将自动调用页事件,即 Page_Init 和 Page_Load 方法。在这种情况下,不需要任何显式的 Handles 子句或委托。
        AutoEventWireup 属性的缺点是它要求页事件处理程序具有特定、可预测的名称。这限制了您在为事件处理程序命名时的灵活性。因此,在 Visual Studio 中,AutoEventWireup 属性在默认情况下设置为 false,设计器会生成用于将页事件绑定到方法的显式代码。 
        如果将 AutoEventWireup 设置为 true,Visual Studio 将生成用于绑定事件的代码,页框架将自动基于事件的名称来调用事件。这可能会导致在该页运行时两次调用相同的事件代码。标准化程序,建议设置为true。


对策1:
①中的AutoEventWireup设置为false
对策2:
或者是把
※資料:②中显示绑定代码删除
https://msdn.microsoft.com/zh-cn/library/ydy4x04a(VS.80).aspx
https://msdn.microsoft.com/zh-cn/ch-cn/library/y3bwdsh3(v=vs.80).aspx

0 0
原创粉丝点击