zoukankan      html  css  js  c++  java
  • IIS发布web应用程序之再折腾

    最近几个月发布程序比较多,遇到了各种IIS发布web程序后无法访问的问题。原以为对各种问题都已经摸的差不多了,但今天又为一问题折腾了大半天。具体过程祥记如下:

    在server2008 R2 64位系统上发布web应用程序,应用程序池设置为:.net 4.0 经典模式,“启动32位应用程序”设置为true。这是跟据之前的经验,设置的,很多时候都管用。但今天跳出这样的错误:

    根据以往经验,这个问题这么干就行了:

    原因:开发环境和部署环境不同造成的(系统64bit 和 系统32bit)
    解决方法:IIS》应用程序池》选中所用的程序池名称右击》高级设置》常规》启用32位应用程序,改为True。
    现在刚上来就已经启动了32位应用程序,按道理不会出现这个错误才对;于是想到在VS中检查所有的类库和网站,看生成的目标平台是否都是X86(网站在生成的时候没法设置目标平台,这个问题一直没搞清楚);然后重新生成一遍,再发布,还是同样的问题。百思不解,尝试了很多遍;偶然发现之前发布成功的一个web应用程序配置的是不启用32位应用程序;
    这样想到第二个方法,在VS中把所有目标平台设置为Any CPU,然后不启用32位应用程序,这时候出现下面的错误:
    网上提供办法,生成<machineKey>,然后在web config中配置。引用博友“冬日阳光”的博客:
    MachineKey生成方法

    打开以下网址:http://www.aspnetresources.com/tools/keycreator.aspx

    点击:Generated

    生成的Machinekey:

    MachineKey

     <machineKey
    validationKey="86B6275BA31D3D713E41388692FCA68F7D20269411345AA1C17A7386DACC9C46E7CE5F97F556F3CF0A07159659E2706B77731779D2DA4B53BC47BFFD4FD48A54"
    decryptionKey="9421E53E196BB56DB11B9C25197A2AD470638EFBC604AC74CD29DBBCF79D6046"
    validation="SHA1"
    decryption="AES"
    />

    MachineKey的使用方法:

    将MachineKey添加至Web.config文件的<system.web></system.web>之间

    MachineKey的作用:

    1. ASP.net 使用 forms authentication 时的 cookie 数据的加密和解密。以确保这部分数据不会被篡改
    2. viewstate 数据的加密和解密。以确保这部分数据不会被篡改。
    3. 使用进程外session(out-of-process session)时,对会话状态标识进行验证。

    更多详细信息请参考:

    http://msdn.microsoft.com/zh-cn/library/ms998288(en-us).aspx

    按照这个方法实施后,发现还是不对。再找度娘,问题得解:http://www.iwms.net/td7397.aspx
     
     
    上面就是问题解决过程,有好多不理解的地方,都是根据网上的办法逐一尝试的。后期还需要对IIS做更多的研究。
  • 相关阅读:
    中文分词学习整理
    机器学习
    TimSort学习资料
    小段子
    Load和CPU利用率是如何算出来的
    sql server xml 截断
    System.Security.Cryptography.CryptographicException: 系统找不到指定的文件
    优化笔记: jxrsfxrxx_D_20140916.gz
    优化笔记: 此两个产品每天8点30分开始,要跑一个小时,看看是否有提升空间
    优化笔记:pfyhparopenfundinfotest_D_20140916.gz
  • 原文地址:https://www.cnblogs.com/pengjw/p/3786121.html
Copyright © 2011-2022 走看看