Perché il "Pool di risorse" non è supportato sulla piattaforma attuale?
-
09-06-2019 - |
Domanda
Quali potrebbero essere le possibili cause della seguente eccezione?
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()
La piattaforma è Windows 2003 Server SP2.Lo stesso codice è stato testato su Windows XP SP2 senza problemi.Sarebbe però interessante sapere quali sono i motivi che causano questa eccezione indipendentemente dalla piattaforma.
Soluzione
Ho esaminato i sorgenti utilizzando Reflector e non riesco a trovare alcuna chiamata a Platform.Assert nel costruttore statico di ResourcePool.
Il server Windows 2003 è a 64 bit?Questo potrebbe essere il problema.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow