Почему "Пул ресурсов" не поддерживается на текущей платформе?
-
09-06-2019 - |
Вопрос
Каковы могут быть возможные причины следующего исключения?
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, и, похоже, не могу найти ни одного вызова Platform.Assert в статическом конструкторе ResourcePool.
Является ли Windows 2003 server 64-разрядным?Возможно, в этом и заключается проблема.
Не связан с StackOverflow