2008-09-10 14 views
1

Was könnten die möglichen Ursachen für die folgende Ausnahme sein?Warum wird der Ressourcenpool auf der aktuellen Plattform nicht unterstützt?

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() 

Die Plattform ist Windows 2003 Server SP2. Der gleiche Code wurde unter Windows XP SP2 ohne Probleme getestet. Es wäre jedoch interessant zu wissen, welche Gründe diese Ausnahme unabhängig von der Plattform verursachen.

Antwort

1

Ich habe mit Reflector auf die Quellen gestoßen und ich finde anscheinend keinen Aufruf von Platform.Assert im statischen Konstruktor von ResourcePool.

Ist der Windows 2003 Server 64bit? Das könnte das Problem sein.

+0

Sie müssen System.EnterpriseServices in Reflector laden. Der Konstruktor von ResourcePool enthält die folgende Zeile: Platform.Assert (Platform.W2K, "ResourcePool"); Dies beantwortet die Frage nicht, aber zumindest haben wir die Quelle der Ausnahme. – csgero

Verwandte Themen