2008-09-10 20 views
1

Aşağıdaki özel durumun olası nedenleri neler olabilir?'Kaynak Havuzu' neden geçerli platformda desteklenmiyor?

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

Platform, Windows 2003 Server SP2'dir. Aynı kod Windows XP SP2'de sorunsuz olarak test edilmiştir. Ancak, platformdan bağımsız olarak bu istisnanın nedenini bilmek ilginç olurdu.

cevap

1

Reflektör'ü kullanarak kaynakları düzelttim ve ResourcePool'un statik yapıcısında Platform.Assert'e herhangi bir çağrı bulamıyorum.

Windows 2003 sunucusu 64bit mi? Bu sorun olabilir.

+0

Reflektör'de System.EnterpriseServices öğesini yüklemeniz gerekir. ResourcePool yapıcısı aşağıdaki satırı içerir: Platform.Assert (Platform.W2K, "ResourcePool"); Bu soruya cevap vermiyor, ancak en azından istisna kaynağına sahibiz. – csgero