• Где хостить ASP.NET Core + F1 план от Azure?

    SuccessVM
    @SuccessVM
    Программирование - творчество
    ASP.NET Core имеет второе название ASP.NET 5. Фреймворк разработан для новой платформы от Microsoft - .NET Core, её разрабатывали, как кросс платформенное решение для запуска на любой популярной ОС.

    ASP.NET Core будет прекрасно работать, как на Windows или Mac OS X, так и на Linux - Debian/Ubuntu/CentOS/Fedora.

    При запуске ASP.NET Core приложения на Linux или Mac OS X необходимы следующие установленные компоненты:

    • Платформа .NET Core или альтернативная платформа Monо - это open source проект, реализующий .NET Framework, для платформ Mac OS X или Linux. Mono активно поддерживается компанией Xamarin и совсем недавно Microsoft официально объявила о приобретении Xamarin.

    • Веб сервер, который будет взаимодействовать с ASP.NET приложением, например Kestrel. Kestrel – проект с открытым исходным кодом, кросс платформенный. Можно использовать любой другой веб сервер, главное, чтобы он реализовывал интерфейсы Feature ASP.NET приложения, как минимум, IHttpRequestFeature и IHttpResponseFeature. Если приложение не высоконагруженное, запросы к Kestrel можно принимать напрямую, но обычно используют прокси сервер, как Apache или NGINX.


    На Windows, помимо установленного .NET Core также потребуется наличие веб сервера для работы с элементами Features ASP.NET, рекомендуется использовать WebListener, но можно тот же Kestrel. Прокси сервером, в данном случае, лучше использовать IIS, хотя можно любой другой.

    Что же касается плана от Azure, то это прекрасная возможность ознакомиться с облачными технологиями и разрабатывать северные приложения совершенно бесплатно, но для продакшена такой вариант не подойдёт, тут либо переходить на платный тариф либо искать альтернативу, например виртуальный или облачный сервер на Linux – сейчас это вполне доступно.
    Ответ написан
    Комментировать
  • Есть ли смысл изучать WPF?

    WPF используется для UWP, знания не пропадут. Плюс недавно MS купили Xamarin, думаю скоро количество поддерживаемых платформ для UWP может резко возрости.
    Ответ написан
    Комментировать
  • Есть ли готовая библиотека загрузчика для C#?

    @MonkAlex
    C#, SQL, Delphi, C++ etc
    Стандартный webclient умеет оповещать о процессе загрузки, оповещать о размере уже скачанного и всего размера, умеет качать файлы с учетом авторизации\куков.

    А вот по дозакачке - не в курсе.
    Ответ написан
    1 комментарий
  • Как указать ссылку в зависимости от роли?

    Valeriy1991
    @Valeriy1991
    Разработчик .NET C# (ASP.NET MVC) в Alfa-B, Moscow
    Можно использовать атрибут Authorize - его можно "навесить" либо целиком на контроллер, либо на метод действия - читайте литературу по MVC.

    Как узнать роль пользователя?

    Вопрос странный: пишете метод IsUserInRole или как-то так и реализуете, как надо (в MembershipAPI, например, реализация уже есть). В MVC в любой момент времени доступен объект User.Identity, у которого можно вытащить свойство Username. По username можно определить его роль - проблемы особой не вижу. Можно написать еще свою "обертку" над объектом пользователя, ему в свойства "засунуть" роли или добавить кучу свойств вида Is, например: IsAdmin, IsGuest, затем к этим свойствам обращаться - тут уже как у Вас фантазия заработает.
    Ответ написан
    Комментировать
  • Кто может дать пример парсинга json в C#?

    @Oxoron
    Шарпер
    internal static class Serializer
        {
            internal static void Serialize<T>(this T arg, string fileName)
            {
                string res = JsonConvert.SerializeObject(arg, Formatting.Indented);
                File.WriteAllText(fileName,res);
            }
    
            internal static T Deserialize<T>(string fileName)
            {
                string json = File.ReadAllText(fileName);
                T res = JsonConvert.DeserializeObject<T>(json);
                return res;
            }
        }

    Этот класс сериализует\десериализует объекты.

    public class Item 
    {
    ...
    public string title{get; set;}
    public string url{get;set;}
    ...
    }

    Это класс одной записи. Для сериализации используйте автосвойства (те самые get; set;), обязательно public.

    public class Response
    {
    public int count{get;set;}
    public List<Item> items{get; set;}
    }


    Для получения данных используете код вроде
    string pathToFIle = @"C:\temp\anyFile";
    Response response = Serializer.Deserialize<Response>(pathToFile);
    String[] titles = response.items.Select(item => item.title).ToArray(); // Массив названий
    String[] urls = response.items.Select(item => item.url)ToArray(); // Массив адресов


    библиотека: newtonsoft.json.dll

    Если надо - могу скинуть готовый пример (на тостере есть личка?).

    Также посетите json2csharp.com
    Вставьте в поле свой Json-образец, сразу получите необходимые классы.
    Ответ написан
    10 комментариев