Членство в ASP не может обрабатывать зашифрованные строки подключения в web.config

Мы столкнулись с ошибками при использовании одного из наших веб-методов на тестовом веб-сервере, который у нас есть. Основная ошибка была:

"Access to the path 'E:\websites\Discovery\ProfileService\App_Data' is denied"

Дальнейшее изучение трассировки стека дает немного больше информации:

"at System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile..."
"at System.Web.DataAccess.SqlConnectionHelper.EnsureSqlExpressDBFile..."
"at System.Web.DataAccess.SqlConnectionHelper.GetConnection..."
"at System.Web.Security.SqlMembershipProvider.GetUser..."
"at System.Web.Security.Membership.GetUser..."
"at System.Web.Security.Membership.GetUser..."

Оказалось, что поставщик членства пытается найти строку подключения для вызова членства. Не найдя эту запись, он попытался создать новую локальную базу данных членства и не смог сделать это с ошибкой прав доступа.

Мы дважды проверили строки подключения, и они казались в порядке, хотя они были зашифрованы. Затем мы сохранили конфиг с расшифрованным разделом строки подключения - теперь вызов работает!

Мы знаем, что строки подключения были правильными, потому что другие методы обслуживания работали нормально. Что еще более странно, так это то, что некоторые аспекты членства, казалось, работали с шифрованием на месте.

Кто-нибудь видел это раньше или знает, как заставить это работать с зашифрованными строками соединения?

1 ответ

В вашем коде перед тем, как сделать вызов SQL, вы расшифровываете строки подключения?

Вероятно, ошибка трассировки стека означает, что ваше приложение не имеет разрешения на запись в этот каталог.

Другие вопросы по тегам