window server 2012 II8 假陌生 碰到的问题

1、我们网站是.net 3.5 开发的。还有一个32DLL 

2、从windows server 2008 r2 iis 7 迁移过来碰到了3个问题,及解决办法

 

I、

在唯一密钥属性“fileExtension”设置为“.json”时,无法添加类型为“mimeMap”的重复集合项

 

如果IIS中已经有设置.xaml和 .xap这两个扩展名,那么IIS就会提示:在唯一密钥属性“fileExtension”设置为“.xaml”(或者.xap)时,无法添加类型为“mimeMap”的重复集合项。

 

 <staticContent>    
      <mimeMap fileExtension=".json" mimeType="application/x-javascript" />
    </staticContent>

 

具体的提示信息是根据自己所添加的MIME类型的扩展名来的,比如我添加的是.json,所以提示的是.json这个扩展名无法添加重复集合项

所以一般我们要在配置文件中添加MIME Type,就得先使用remove节点删除掉要添加的MIME,防止重复。正确的配置文件代码如下:

<staticContent>
      <remove fileExtension=".json"/>
      <mimeMap fileExtension=".json" mimeType="application/x-javascript" />
    </staticContent>

 

 

一般来说,我们之所以要在ASP.NET网站的web.config中添加MIME类型,是因为在IIS中并没有设置这个MIME类型,而且因为某些原因我们只能在网站的web.config配置文件中添加mimeMap(比如我们没有权限进入服务器等情况)。

这样就可以能出现一个问题:假设当前网站发布到新的服务器中,此时新服务器上的IIS默认已经有设置这个MIME类型,而我们网站 web.config配置文件也设置了mimeMap的mimeType,这样重复添加MIME类型就会提示mimemap在集合项目设置中重复了!

II、

不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定


在全新安装的IIS7下搭建网站,访问页面时出现错误信息如下:
 
配置错误 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。 
 配置文件 \\?\X(盘符):\目录名\目录名\web.config
 <system.webServer>
         <handlers>
             <add name="isa_rewrite" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
         </handlers>
  </system.webServer>
 配置源
   104:   </modules>
   105:  <handlers>               '//(这里红色标记)
   106:    <add name="isa_rewrite" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
 
解决办法: 
 
出现这个错误是因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。要取消锁定可以以管理员身份运行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。其中的 handlers 是错误信息中红字显示的节点名称。
 
如果modules也被锁定,可以运行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
 
注意:要以管理员身份运行才可以,默认不是管理员身份,方法,在开始菜单中的搜索程序与文件输入CMD,就会在上方出现一个CMD.EXE,在这个CMD.EXE文件上点击键,选择“以管理员身份运行”,打开命令行窗口,输入以上命令即可。

III、(现象是aspx页面,一直加载但没有任何反应!)

找到framework的路径,我的vs默认安装在c盘,路径为:C:\Windows\Microsoft.NET\Framework\v4.0.30319

输入cd 进入该目录,输入命令aspnet_regiis.exe -i

posted @ 2017-03-17 10:11  三瑞  阅读(242)  评论(0编辑  收藏  举报