2008-09-10 4 views
1

Quelles pourraient être les causes possibles de l'exception suivante?Pourquoi le 'pool de ressources' n'est-il pas pris en charge sur la plate-forme actuelle?

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 plate-forme est Windows 2003 Server SP2. Le même code a été testé sur Windows XP SP2 sans aucun problème. Cependant, il serait intéressant de savoir quelles raisons provoquent cette exception quelle que soit la plate-forme.

Répondre

1

J'ai piqué sur les sources en utilisant Reflector et je n'arrive pas à trouver un appel à Platform.Assert dans le constructeur statique de ResourcePool.

Le serveur Windows 2003 64 bits? Cela pourrait être le problème.

+0

Vous devez charger System.EnterpriseServices dans Reflector. Le constructeur de ResourcePool contient la ligne suivante: Platform.Assert (Platform.W2K, "ResourcePool"); Cela ne répond pas à la question, mais nous avons au moins la source de l'exception. – csgero

Questions connexes