Ответ 1
Откройте "Программируемость" в своем дереве и сначала проверьте, существует ли dbo.TempGetVersion. Возможно, вы не установили правильную схему.
"Мой сайт LIVE. И эта проблема связана с настройкой тайм-аута сеанса на LIVE-сервере, а не на локальном хосте."
У меня проблема с истечением сеанса слишком рано. ссылку только через 2-5 минут. Я пробовал много вещей и, наконец, решил сохранить сеанс в режиме "SQL Server"
в моем файле web.config у меня есть следующее кодирование:
<sessionState mode="SQLServer" cookieless="false" timeout="45"
sqlConnectionString="data source=xxx.xx.xx.xxx;uid=xxxxxxx;pwd=xxxxxxxx"/>
и у меня есть все таблицы, необходимые в таблице ASPState на сервере. Вы можете видеть это на изображении ниже.
Но когда я запускаю свое приложение, он выдает следующую ошибку:
"Невозможно использовать SQL Server, потому что либо состояние сеанса ASP.NET версии 2.0 не установлено на сервере SQL, либо ASP.NET не имеет разрешения на запуск хранимой процедуры dbo.TempGetVersion. Если состояние сеанса ASP.NET схема не установлена, установите ASP.NET Session State SQL Server версии 2.0 или выше. Если эта схема была установлена, предоставьте разрешение на выполнение в хранимой процедуре dbo.TempGetVersion либо на идентификатор пула приложений ASP.NET, либо на Пользователь Sql Server, указанный в атрибуте sqlConnectionString."
Изображение ошибки:
Я не могу понять точную проблему и как я могу ее решить. Любая помощь будет оценена.
Спасибо
Откройте "Программируемость" в своем дереве и сначала проверьте, существует ли dbo.TempGetVersion. Возможно, вы не установили правильную схему.
Чтобы заставить это работать для меня, я выполнил команду со следующими параметрами.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -S . -E -ssadd -sstype p
Я полагаю, что параметр -ssadd
( "Добавляет поддержку состояния сеанса режима SQL Server" ) заставляет его правильно настроить хранимые процедуры. См. Эту ссылку для получения полного списка параметров.
Возможно, у вас есть плохой тег в вашем web.config
Правильный пример:
<sessionState
allowCustomSqlDatabase="true"
mode="SQLServer"
sqlConnectionString="data source=localhost;initial catalog=YourAspStateDatabase;user id=yourLogin;password=yourpassword" cookieless="false" timeout="30"/>
Я застрял в этом, и ни один из ответов не работал у меня, на всякий случай, если кто-то другой столкнулся с этой проблемой, это то, что решило мою проблему, я побежал в cmd:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe -C "Data Source=.\SQL2012;Integrated Security=True" -ssadd
На всякий случай кто-то застрял в той же ситуации, что и я.
Вся эта информация чрезвычайно ценна, но в зависимости от вашей ситуации есть еще несколько ценных замечаний.
Если вы запустили мастер, он не запускается с флагом -ssadd. Флаг -ssadd - это то, что создает процедуру dbo.TempGetVersion, а также другие процедуры.
Если вы собираетесь на пользовательский сервер/базу данных, вам нужно запустить программу следующим образом...
aspnet_regsql.exe -S YourServerName -d YourDatabaseName -ssadd -E -sstype c