Записи с меткой «asp.net-mvc»

Запускаем asp.net-mvc приложения в vs в разных средах

В mvc приложении есть файл Web.config который отвечает за главные настройки приложения. И есть файлы Web.Debug.config и Web.Release.config, которые переопределяют или добавляют некоторые настройки в файл Web.config. Проблема в том что данные файлы предназначены для запуска развернутого приложения и при разработке они не несут никакого смысла. И так давайте это исправим. Для начала объясню как …

Выполняем get запрос по расписанию c#

Напишем простенькую программу, которая будет выполнять get запрос по истечению определенного интервала времени. class Program { private static Timer _timer; public static void Main() { _timer = new Timer(); _timer.AutoReset = true; // вызываем событие каждый раз по истечении указанного интервала времени _timer.Interval = 300000; _timer.Elapsed += new ElapsedEventHandler(OnTimedEvent); _timer.Start(); Console.WriteLine(«Press the Enter key to …

Выполняем действие по расписанию (asp.net, c#)

Раньше я писал программку, которая выполняла get запрос по расписанию, но так же можно написать обычный HttpModule, который будет делать тоже самое. public class MyHttpModule : IHttpModule { private int _hour = 2; private int _minute = 0; private Timer _timer; private bool _excecuted = false; private static object _lockThis; public void Init(HttpApplication app) { …

Выбираем технологии и инструменты для разработки веб приложений

1 Выбор и настройка инструментов для разработки фронтенда (только самые важные): 1.1 Twitter bootstrap — фреймворк позволяет писать качественную верстку и делать адаптивный дизайн. Сайт можно будет смотреть на разных устройствах. 1.2 requirejs — служит для написания js модулей по принципу amd и для асинхронной загрузки скриптов 1.3 globaljs — позволяет делать локализацию на клиенте. …

Увеличим размер загружаемого файла (asp.net mvc)

Добавим такие строчки в web.config: <system.web> <httpRuntime targetFramework=»4.5″ maxRequestLength=»50000″ /> </system.web> …… <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength=»50000000″ /> </requestFiltering> </security> </system.webServer>

Создаем свои шаблоны в EditorTemplates (asp.net-mvc)

В папке EditorTemplates располагаются шаблоны, которые можно вызывать посредством htmlhelper-ов @Html.EditorFor и @Html.Editor. Создадим шаблон для текстового поля создадим файл Text.cshtml в папке /Views/Shared/EditorTemplates и напишем такие строчки в нем: @{ var classAttr = ViewData[«class»]; var placeholder = ViewData[«placeholder»]; var disabled = ViewData[«disabled»]; var readonlyAttr = ViewData[«readonly»]; var name = Html.NameFor(m => m); var id = …

Создаем html при помощи RazorEngine без контроллеров mvc (asp.net-mvc)

Подключаем библиотеку RazorEngine при помощи менеджера пакетов nuget. Пишем метод который на вход принимает путь к представлению и модель, а на выходе отдает html строку public static class RenderViewHelper { public static string RenderPartialToString(string viewPath, object model) { string viewAbsolutePath = MapPath(viewPath); var viewSource = File.ReadAllText(viewAbsolutePath); string renderedText = Razor.Parse(viewSource, model); return renderedText; } public static …

Создаем базовый репозиторий

Для того чтобы контекст бд сохранялся из репозитория в репозиторий, можно сохранять данный контекст в HttpContext.Current.Items и получать его из этого контекста(HttpContext) когда необходимо. Создадим абстрактный базовый репозиторий, который будет содержать данную логику. Наш базовый репозиторий: public abstract class BaseRepository { public DefaultDatabase DbContext { get { return TLS.Get<DefaultDatabase>(«DbContext»); } } } Контекст базы данных создадим …

Собираем статические файлы в dll (asp.net mvc)

Для того, чтобы статические файлы можно было собрать в отдельную библиотеку, нужно у этих файлов поставить свойство «Build Action» в значение «Embedded Resource». После того как все файлы будут находится в отдельной сборке, нужно научить приложение доставать эти файлы из dll. Пусть все статические файлы находятся в папке Content. Например javacript файлы в папке /Content/JS, …

Скрываем публичные свойства, через которых происходит внедрение зависимостей ninject (c#)

Допустим есть свойство, через которое ninject внедряет зависимость [Inject] public IUsersService UsersService { get; set; } И очень хочется скрыть это свойство, так как данное свойство используется только внутри класса. Для этого делаем свойство защищенным или приватным [Inject] proteced virtual IUsersService UsersService { get; set; } И в Global.cs прописываем следующие строки var kernel = …