zoukankan      html  css  js  c++  java
  • X64上的IIS調用32位的DLL方法

    ASP.NET程序在编译的时候默认是Any CPU,即编译的程序可以在X86、X64系统平台上运行。若希望我们的ASP.NET程序运行在X64系统上,我们所要做的仅仅是部署IIS,修改配置。
    若想程序运行于IIS32位模式下,即运行在.net framwork32位下进行如下配置:
    1.cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 修改IIS配置,允许32位程序运行
    2.C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis -i  为IIS注册asp.net32。注册后在IIS的web扩展里显示的是Asp.net2.0.*32bit。
    3.Web扩展里允许 Asp.net2.0.*32bit运行。运行的是w3wp32.exe进程。
    二.64位模式
    1.cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 0 默认就是0,若原来运行了32位程序,则需要重新设置为0。
    2.C:/WINDOWS/Microsoft.NET/Framework64/v2.0.50727/aspnet_regiis - i  为IIS注册64为Asp.NET。注册了64位ASP.NET的IIS在Web扩展里显示的是Asp.net2.0.*。
    3.Web扩展里允许 Asp.net2.0.*运行。运行的是w3wp.exe进程。 
    处理后还是没有出现“w3wp32.exe进程”。
    但我的 Web扩展里面是有, Asp.net2.0的32位设置为允许的。
    后新建了应用程序池, 在新建的应用程序池的“高级设置”里面,把“启用32位应用程序”设置为true。
     程序可以运行了。

    因为我的机器已经设置过,cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 为32位。
    为了测试,我又把它设置为64位:cscript %systemdrive%/inetpub/adminscripts/adsutil.vbs set w3svc/appPools/enable32bitapponwin64 0
    此时,程序还是可以运行。

    所以我认为:不用按照上面的1,2,3步设置开启32位。仅仅设置应用程序池中“启动32位应用程序”为true。此时应该就可以运行32位的程序了。

    如果有人在X64位系统上,运行32位的asp.net程序,可以直接试试用把“启用32位应用程序”设置为true。的方法。无论是否成功,请告知。谢谢。

  • 相关阅读:
    频率组件
    Django-admin组件
    Python全栈开发课堂笔记_day03
    python全栈开发day02
    python全栈开发day01
    正确认知自己,做真实的自己
    翻出大学时期收集的文章来看看
    mybatis中的#{}和${}
    Parameter index out of range (2 > number of parameters, which is 1)
    中间件
  • 原文地址:https://www.cnblogs.com/marslin/p/3176789.html
Copyright © 2011-2022 走看看