Hangfire -. net core web api - Ошибка реализации IIS - PullRequest
0 голосов
/ 10 февраля 2020

При попытке опубликовать sh веб-API на веб-сервере IIS я получил сообщение об ошибке зависания. (WServer 2012) Это работало локально, когда я запускал на своем компьютере в IIS express. Это работало хорошо, я вижу свою работу на приборной панели. Я использую те же строки подключения на БД веб-сервера, но это не работает на веб-сервере. Ошибка такая:

Категория: Hangfire.Processing.BackgroundExecution EventId: 0

Выполнение BackgroundServerProcess все еще находится в состоянии Failed для 00 : 00: 30.0352717 из-за исключения будет повторена не более чем в 00: 00: 15

Исключение: System.Data.SqlClient.SqlException (0x80131904): Ошибка входа пользователя 'AB C SERVER' . на System.Data.SqlClient.SqlInternalConnectionTds..ctor (DbConnectionPoolIdentity идентичности, SqlConnectionString connectionOptions, SqlCredential учетных данных, объект providerInfo, String новый_пароль, SecureString newSecurePassword, булева redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, булева applyTransientFaultHandling, String маркер доступа) на System.Data. SqlClient.SqlConnectionFactory.CreateConnection (параметры DbConnectionOptions, DbConnectionPoolKey poolKey, объект poolGroupProviderInfo, пул DbConnectionPool, DbConnection owningConnection, DbConnectionOptions owningConnection, DbConnectionOptions userOptions)

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *. () метод;
app.UseHangfireDashboard("/jobs");
 app.UseHangfireServer();

В чем разница между тем же подключением к БД, локальным режимом отладки p c работает нормально, но при публикации на веб-сервере произошла ошибка входа в систему с веб-сервера?

Есть ли какие-то решения для этого? Спасибо за поддержку.

1 Ответ

0 голосов
/ 10 февраля 2020

У меня есть решение для моей проблемы. На самом деле, я нахожу свою ошибку в реализации. Речь идет о соединении пользовательское разрешение и информация об аутентификации . В Hangfire Sql на странице конфигурации сервера есть решение моей проблемы. Я создаю нового пользователя для Hangfire. Затем определите операции auth и grant для этого пользователя. После этого я удаляю определение доверенное соединение из моей строки conn. Теперь он работает.

CREATE USER [HangFire] WITH PASSWORD = 'strong_password_for_hangfire'
GO

IF NOT EXISTS (SELECT 1 FROM sys.schemas WHERE [name] = 'HangFire') EXEC ('CREATE SCHEMA [HangFire]')
GO

ALTER AUTHORIZATION ON SCHEMA::[HangFire] TO [HangFire]
GO

GRANT CREATE TABLE TO [HangFire]
GO

Для получения дополнительной информации: https://docs.hangfire.io/en/latest/configuration/using-sql-server.html

Спасибо всем!

...