0

私はC#を使用して既存のASP.net2.0アプリケーションで作業しており、Windows 2008 R2サーバー64ビットでIIS 7.5に展開しています。

私のアプリケーションでは、さまざまな画像サイズが以下の IIS 設定から処理されます。この効果は、次のように画像サイズにアクセスすると

http//domainname.com/images/imagename.jpg?w=21&h=213

画像は、指定された幅と高さのパラメーターで自動的にサイズ変更されます。すべては、web.config の以下のエントリが原因で発生します

<system.webServer>
    <handlers>      
        <add name="png" path="*.png" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
        <add name="jpg" path="*.jpg" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
        <add name="jpeg" path="*.jpeg" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
    </handlers>
</system.webServer>

上記の web.config ファイルのパス aspnet_isapi.dll を指すようにイメージの isapi フィルターを追加したときに、エントリが表示されます。

それはうまくいきます。

同じ IIS のアプリケーション プールを 32 ビットから 64 ビットにアップグレードしました。画像のサイズ変更が失敗しています。理由としては、設定で「bitness32」と書いてあるので、「bitness64」のように64ビットにして設定を更新したからだと思います。

<system.webServer>
    <handlers>      
        <add name="png" path="*.png" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
        <add name="jpg" path="*.jpg" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
        <add name="jpeg" path="*.jpeg" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
    </handlers>
</system.webServer>

しかし、これを行うと、さまざまな画像がサイトに表示されなくなりました。

提案してください、これを緊急に修正するにはどうすればよいですか

よろしく、

4

1 に答える 1

0

IIS 7 で (アプリケーションが使用しているアプリケーション プールで) [ 32 ビット アプリケーションを有効にする] を [True ] に設定できます。

64 ビット Windows では、32 ビット プロセスは 64 ビット DLL をロードできず、64 ビット プロセスは 32 ビット DLL をロードできません。64 ビット Windows で 32 ビット アプリケーションを実行する場合は、32 ビット ワーカー プロセスを作成するように IIS を構成する必要があります。32 ビット ワーカー プロセスを作成するように IIS を構成すると、次の種類の IIS アプリケーションを 64 ビット Windows で実行できます。

  • インターネット サーバー API (ISAPI) 拡張機能
  • ISAPI フィルター
  • Active Server Page (ASP) アプリケーション (具体的には、COM オブジェクトが 32 ビットまたは 64 ビットの COM オブジェクトを呼び出すスクリプト)
  • ASP.NET アプリケーション

画面:

ここに画像の説明を入力

于 2012-11-10T17:29:58.390 に答える