1
次の例外の考えられる原因は何でしょうか?現在のプラットフォームで 'リソースプール'がサポートされないのはなぜですか?
System.PlatformNotSupportedException: 'ResourcePool' is not supported on the current platform.
at System.EnterpriseServices.Platform.Assert(Boolean fSuccess, String function)
at System.EnterpriseServices.Platform.Assert(Version platform, String function)
at System.EnterpriseServices.ResourcePool..ctor(TransactionEndDelegate cb)
at System.Data.SqlClient.ConnectionPool..ctor(DefaultPoolControl ctrl)
at System.Data.SqlClient.PoolManager.FindOrCreatePool(DefaultPoolControl ctrl)
at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
at System.Data.SqlClient.SqlConnection.Open()
プラットフォームはWindows 2003 Server SP2です。同じコードがWindows XP SP2で問題なくテストされています。しかし、プラットフォームに関係なく、どのような理由でこの例外が発生するのかを知ることは面白いでしょう。
ReflectorにSystem.EnterpriseServicesをロードする必要があります。 ResourcePoolのコンストラクターには、次の行が含まれます。 Platform.Assert(Platform.W2K、 "ResourcePool"); これは質問に答えませんが、少なくとも例外の原因があります。 – csgero