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

Запускаем 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>

Устанавливаем и настраиваем Ninject

Ninject это IoC контейнер для .NET платформы. Установим его и настроим. Установим ninject с помощью менеджера nuget Создадим класс который создает контейнер и разрешает зависимости всех объектов using System; using System.Collections.Generic; using System.Web.Mvc; using Ninject; using Ninject.Parameters; using Ninject.Syntax; using System.Configuration; namespace WebApp.Infrastructure { public class NinjectDependencyResolver : IDependencyResolver { private IKernel kernel; public NinjectDependencyResolver() { …

Создаем класс для хранения данных для рабочего потока (Thred Local Storage)

Иногда есть данные которые хочется сохранить для текущего рабочего потока и многие сохраняют их в HttpContext.Current.Items.  Но такой способ привязывает все приложение к asp.net mvc. Создадим класс TLS(Thread Local Storage), чтобы по возможности можно было использовать ThreadStatic или CallContext, в зависимости от режима TlsMode. public enum TlsMode { HttpContext, ThreadStatic, CallContext } public class TLS : ITLS …

Создаем 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, …