zoukankan      html  css  js  c++  java
  • IIS 7.5版本中一些诡异问题的解决方案

    前言

    我想任何一个基于.NET的宫城师都会同意微软的产品,特别是这个IIS,常常在你很恨意外的时候抛出异常来,比如在你的主要产品要升级的时候。然后你会花好多时间去找啊找,找到天荒地老。悲催!~。

    此篇文章的目标主要是为了IIS 7.5 在一些情况下的解决方案。希望这些对你们有帮助。

    一。 IIS 有关WCF 宿主(hosting)问题

    问题描述:

    如果第一次在IIS 7.5部署WCF 服务文件---.svc的时候,你很有可能会遇到下面的问题:

    404 – Not Found - The page you are requesting cannot be served because of the extension of the configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

    解决方案:

    404,很熟悉吧。就是没找到文件。

    其实,这问题很简单,发生错误的主要原因是HTTP Handler默认配置中的虚拟目录并没有映射(mapping)到以.svc为后缀的文件名。svc我们都知道在WCF机制中的重要性。既然目录都找不到,当然就会报错的哦!~。

    步骤:

    第一步:打开命令提示框。也就是cmd。

    第二步:在黑屏窗口中,通过cd 导航到一下目录:

    C:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation

    第三步:然后输入:

    ServiceModelReg –i

    如图

    这样就OK了。

    二。在IIS中,无法找到Window Authentication(Window 验证)

    我们都知道,在IIS 7.0中,默认情况下有以下3中验证方式:

    Anonymous(匿名,默认情况下打开)

    Impersonation( 模拟身份,默认情况关闭)

    Forms(默契情况下关闭)

    如图:

     可能有些童鞋会觉得,不对啊,好像上面还缺少一种。对,缺少的就是“Windows Authentication”这个验证方式。那么,有些人就会问,是没有了呢?还是被路人甲给隐藏了呢?

    呵呵,其实是隐藏的!~~微软这孩子已经把它不作为默认出现了。如果你真的需要这种验证方式,那么可以如下这么做:

    打开控制面板(Control Panel),然后找到“Programs and Features”,在点击“Turn Windows Features on/off “,如下:

    然后。。。

    勾选上就可以了~~~~

    三。Login failed for user 'IIS APPPOOL\Classic .NET

    这种情况主要发生在运用Windows Credentials 访问数据库时。宿主服务器(Host Server) 有sql 2008数据库以及有HTTP 请求经过路由(routed)。

    基于这种情况的主要是因为改变这个Classic .NET Application的进程属性标识,所以如果碰到这个情况,那么你需要把你的虚拟目录映射(mapped)Classic .NET Application中就可以了。

    过程如下:

     第一步:打开你的IIS 管理器(我很喜欢直接在“开始”→“运行”里敲入  inetmgr,然后打开,觉得很酷!~嘻嘻。)

     第二步:在IIS 管理器里,选择“Application Pools(应用程序池)”,在右边的列表里,选择“Class .NET AppPools”

    第三步:打开它的“Advanced Setting(高级设置)”。把Process Model下面的Identity属性改为LocalSystem,如下图:

    四。HTTP Error 500.23 - Internal Server Error

    为什么会发生这样的错误呢?这个很大程度上是因为和托管的管道模式(Managed Pipeline Mode)设置有关系.

    这个主要有2个解决方案:

    第一个:改变你虚拟目录映射的Application Pool(应用程序池)的Managed Pipeline 模式。默认情况下,你虚拟目录将映射到DefaultAppPool下的Integrated Managed Pipeline模式。OK,我们需要把它从Integrated 到Classic模式就行了。

     方法2:为你的虚拟目录创建一个新的Application

    在你的网页目录下,右键,添加一个“Application”,如下:

    在Aplication Pool下面选择Classic.NetAppPool就可以了。。。

    后记

    好吧,这篇文章不是我原创的,我只是在把它用比较通俗的话翻译成了中文,如果E文好的童鞋,可以直接看连接。

    原文地址:The Curious Case of Internet Information Services

  • 相关阅读:
    多个类定义attr属性重复的问题:Attribute "xxx" has already been defined
    好用的批量改名工具——文件批量改名工具V2.0 绿色版
    得到ImageView中drawable显示的区域的计算方法
    得到view坐标的各种方法
    实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
    Material Designer的低版本兼容实现(五)—— ActivityOptionsCompat
    Android 自带图标库 android.R.drawable
    解决 Attempting to destroy the window while drawing!
    解决Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 4
    Material Designer的低版本兼容实现(四)—— ToolBar
  • 原文地址:https://www.cnblogs.com/damonlan/p/2537499.html
Copyright © 2011-2022 走看看