Пожалуйста, простите меня за, наверное, глупый вопрос, я все еще не слишком хорошо знаком с архитектурой ASP.NET в целом.
Я унаследовал большой проект и намереваюсь настроить hangfire.io. Я понимаю, что мне нужно каким-то образом инициализировать контекст БД, но я не хочу жестко его кодировать, как это предлагается в документе Hangfire.
Мой API\Global.asax.cs
сейчас выглядит следующим образом, интересное начинается после // Hangfire stuff
:
using System.Web.Http;
using System.Web.Http.ExceptionHandling;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
using Hangfire;
namespace API
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
log4net.Config.XmlConfigurator.Configure();
GlobalConfiguration.Configuration.Services.Add(typeof(IExceptionLogger), new GlobalExceptionLogger());
GlobalConfiguration.Configuration.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler());
MvcHandler.DisableMvcResponseHeader = true;
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
MapperConfig.RegisterMapper();
// Hangfire stuff
GlobalConfiguration.Configuration.UseSqlServerStorage("HardcodedContextString");
RecurringJob.AddOrUpdate("some-id", () => Console.WriteLine("My hangfire test."), "*/2 * * * 1-5");
}
}
}
Контекст моей базы данных myContext
, кажется, определен внутри API\connections.config
, который содержит следующие строки:
<?xml version="1.0"?>
<connectionStrings>
<add name="myContext" connectionString="Data Source=localhost\sqlexpress;Initial Catalog=myContext;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>
Что мне поставить вместо HardcodedContextString
, чтобы ASP.NET считал строку подключения из соответствующего файла конфигурации?
PS: Интересно, что обе строки под // Hangfire stuff
подчеркнуты красным. Что я скучаю?
connections.config
содержит мой контекст БД? Мне интересно, так как я не вижу строки подключения, аналогичной той, что в документе. - person B--rian   schedule 14.01.2020connections.config
именно то, что кажется: файл конфигурации, содержащий строку подключения. Эта строка подключения, скорее всего, будет использоваться для создания вашегоDbContext
- person jbl   schedule 15.01.2020