Я использую Ninject с ASP.NET MVC.По сути, я хочу передать защищенный член _connectionStringBuilder в классе BaseController в качестве аргумента конструктора классу SourceCodeManager.
Я в основном выполняю некоторую обработку на уровне контроллера, а затем хочу передать ее в различные бизнесклассы слоев, такие как SourceCodeManager.
Я знаю, это звучит немного странно, но я в основном хочу передать одну и ту же переменную _connectionStringBuilder всем моим классам бизнес-уровня.(Я пытаюсь обновить классическое приложение ASP, где они хранят имя пользователя и пароль в файлах cookie!)
public class SourceCodeManager : ParisDataAccessManager, ISourceCodeManager
{
SourceCodeManager(IParisConnectionStringBuilder connectionStringBuilder)
: base(connectionStringBuilder)
{
}
public List<SourceCodeList> GetManualSourceCodes()
{
using (var connection = new SqlConnection(connectionStringManager.GetConnectionString()))
{
connection.Open();
var manualSourcesCodes = connection
.Query<SourceCodeList>("select source_cd, source_desc where feeder_system_cd = 'ME'")
.ToList();
return manualSourcesCodes;
}
}
}
public class BaseController : Controller
{
[Inject]
public IParisConnectionStringBuilder _connectionStringBuilder { get; set; }
// ...
}