Я разрабатываю приложение MVC3 «список фильмов», содержащее несколько «сайтов» в зависимости от имени хоста запроса.
Я пытаюсь использовать строго типизированную ViewModel, как это (примеры упрощены, чтобы понять сутьвопроса):
class ViewModelBase
{
public int siteId { get; private set; }
public ViewModelBase(DbContext db)
{
siteId = <here I want to make a db-lookup based on the request hostname> <== This is my problem
}
}
class MoviesIndexViewModel : ViewModelBase
{
public List<Movie> movies { get; private set; }
public MoviesIndexViewModel(DbContext db) : base(db)
{
movies = db.Movies.where(m => m.SiteId == siteId).ToList();
}
}
Тогда мой контроллер просто сделает это:
public class MoviesController : Controller
{
public ActionResult Index()
{
var model = new MoviesIndexViewModel(new MySpecialDbContext());
return View(model);
}
}
Вопрос в том, как я получу «заголовок узла запроса» в показанной строке кода.выше?Я знаю, как сделать фактический просмотр БД, но я могу просто получить доступ к любым параметрам запроса здесь?Или я должен предоставить что-то через параметры конструктору?