1

ThreadPoolの処理が優れているため、Webサービスの1つで.NET4を使用することを計画しています。

これにより、仮想ディレクトリが実行されるASP.NETのバージョンを4.0に変更した場合、IISが.NET CLR 4で新しいw3processを生成し、すべてのライブラリが.NET 4で生成されるため、ライブラリを.NET4で再コンパイルする必要さえありません。その中にロードされます。

つまり、.NET2ライブラリで新しいThreadPoolを使用するということです。何かが正しく聞こえませんか?

4

1 に答える 1

2

何かが正しく引用されていないように聞こえますか?

いいえ、その通りです。ASP.NET 4を使用するように仮想ディレクトリを構成すると、すべてのアセンブリが.NET 2.0に対してコンパイルされている場合でも、アプリケーションはCLR4.0を使用して実行されます。


アップデート:

これを確認するには、次のTest.aspxページを作成します。

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Threading" %>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <%= typeof(ThreadPool).Assembly.FullName %>
</body>
</html>

次に、ASP.NETアプリケーションをコンパイルして.NET 2.0をターゲットにし、これをASP.NET4.0バージョンを使用するように構成されたIIS6.0の仮想ディレクトリにホストします。次の場所に移動するとTest.aspx、次の出力が生成されます。

mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

次に、仮想ディレクトリのASP.NETバージョンを2.0に戻すと、次のように生成されます。

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

したがって、仮想ディレクトリのターゲットフレームワークのバージョンを変更するだけでわかるように、CLR4.0でアプリケーションを実行できます。

于 2012-05-04T11:31:56.050 に答える