Задать вопрос
  • Как работать верстальщику со сложным ASP.NET проектом на TFS?

    @kttotto
    пофиг на чем писать
    В этом проблема монолита, как он будет править верстку не запуская проект? cshtml это ж не html, браузер о razor ничего не знает. Без запуска проекта, думаю, не обойтись. Поэтому либо виртуалка, либо локально. Виртуалку Вы не хотите, значит вариант только ставить локально, а бд можно удаленную тестовую подключить.

    У нас верстальщики по RDP работают. Минус, конечно, привязка к инету.
    Ответ написан
    Комментировать
  • Почему не получается обновить одно поле в EF?

    @kttotto
    пофиг на чем писать
    Вы ее присоединили к контексту, но обновления не происходит. Попробуйте явно указать, что модель модифицирована
    this.Db.Entry(Phone).State = EntityState.Modified;
    this.Db.SaveChanges();
    Ответ написан
    Комментировать
  • Visual Studio - JavaScript Отладчик не останавливается на точках в MVC-View (.cshtml файл), как включить отладку во вьюхах?

    @kttotto
    пофиг на чем писать
    Отключить прекомпиляцию вьюшек или ставить брекпоинты до начала сборки и запуска.
    Ответ написан
  • Как десериализовать запрос?

    @kttotto
    пофиг на чем писать
    Вариантов несколько.

    Первый, это как написано постом выше, привести к dynamic. Но у этого варианта есть недостаток - в каждый момент надо знать какое поле пришло, иначе получите эксепшин на уровне рантайма. Но знать это, по видимому, не реально.

    Второй, это преобразовать к
    public string form_name { get; set; }
    public object value { get; set; }

    В принципе это почти тот же вариант что и первый, ибо дайнемик это тот же обжект, просто на уровне компиляции не проходит проверки типов. А затем value приводить к заранее известному типу, сделать switch, чтобы логика была как то так
    response.value = response.value as string;
    if(response.value == null)
    {
         response.value = response.value as SomeClass;
         if(response.value == null)
         {
             response.value =  response.value as OtherClass;
       ....

    Но у этого способа тоже есть недостаток, нужно точно знать какие типы могут приходить в value.

    И третий вариант, это привести value к JObject и уже руками вытягивать нужные узлы со значением.

    PS. И еще, не рекомендовал бы именовать модель подстраиваясь под json. Для этого у newton есть нужные атрибуты
    public class Form
    {
    	[PropertyName = "form_name")]
    	public string FormName { get; set; }
    	
    	[PropertyName = "value")]
    	public string Value { get; set; }
    }
    Ответ написан
    Комментировать
  • Как лучше сделать авторизацию в ASP.NET Core 2.0?

    @kttotto
    пофиг на чем писать
    Я рекомендую Identity брать за основу. Там учтены многие моменты безопасности, которые Вы навряд ли учтете, если будете сами руками все писать.
    Ответ написан
    Комментировать
  • Не приходят письма c сайта на mail.ru?

    @kttotto
    пофиг на чем писать
    Наверное потому, что есть html вставка и в настройках почты google проверки отключены, а в mail нет.
    Ответ написан
    Комментировать
  • Почему такой код работает?

    @kttotto
    пофиг на чем писать
    1. Поставьте брекпоинт в контроллере и посмотрите this.Request.Query, там будут все параметры, что пришли в контроллер, так же они могут быть в Body. Именно для этого и нужны атрибуты FromBody и FromRequest, чтобы точнее указать от куда мапить значения на модель. После того как он спарсит и смапить значения в модель, если есть проверка, он возьмет атрибуты и по ним уже проверит на валидность.

    2. Вы правильно понимаете. Все это реализовано в identity.
    Ответ написан
    Комментировать
  • Можно ли стать pm без коммерческого опыта в разработке?

    @kttotto
    пофиг на чем писать
    Быть pm это только дело опыта, а не книг и видосиков. Хотя бы опыт в управлении своих опенсерс проектах.
    Ответ написан
    Комментировать
  • Десериализация json полей в массив?

    @kttotto
    пофиг на чем писать
    var model = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
    var photos = model.Where(x => x.Key.Contains("photo"));
    Ответ написан
    3 комментария
  • Как начать проект на asp.net?

    @kttotto
    пофиг на чем писать
    Metanit
    Все кратко и по делу, как конспект.
    Ответ написан
    Комментировать
  • Как добавить модель в asp.net mvc?

    @kttotto
    пофиг на чем писать
    Для выпадающий списков в MVC есть хелперы Html.DropDownList и Html.ListBox. Первый для одиночного выбора, второй для множественного. В модели, которую передаете на вьюшку, передаете поле с коллекцией SelectList и поле для выбранного значения (Selection). Вы, я так понимаю, коллекцию передали через вьюбэг, вот поля под выбор нет.
    А дальше сам список создаете через хелпер
    @Html.DropDownList(x => x.Selection, Model.Items)
    При отправке формы выбранное значение уйдет в Selection.
    Если же Вы используете Core, то там tag-хелперы.

    Здесь в ответе есть пример.
    Ответ написан
    Комментировать
  • Как точно посчитать количество изменений например true на false и наоборот false на true?

    @kttotto
    пофиг на чем писать
    privare bool _property;
    private int count;
    public bool Property
    {
    	get { return _property; }
    	set 
    	{ 
    		if(_property != value)
    			count++;
    		_property = value;
    	}
    }
    Ответ написан
    2 комментария
  • Как правильно дождаться выполнения всех потоков, созданных в цикле?

    @kttotto
    пофиг на чем писать
    У Вас не правильный подход. Во первых забудьте про Thread и используйте TPL. Во вторых для распараллеливания запросов в цикле есть замечательный метод Parallel.ForEach. В третьих для ожидания выполнения всех параллельных задач есть Task.WaitAll.
    В общем Вы можете создать список Task-ов и запихнуть их в Task.WaitAll, но лучше пройдитесь параллельным форичем по Вашему периоду и внутри запускайте Ваши методы. Код за форичем будет ожидать завершения всех потоков в цикле.
    Ответ написан
    2 комментария
  • Mysql - Как заморозить доступ к строке чтобы другие потоки не работали с ней?

    @kttotto
    пофиг на чем писать
    Можно попробовать эти проверочные поля вынести в код, сделать этот объект доступным для всех потоков. Поток, прежде, чем сделать запрос, сначала в список заносит id строки, ответ получил - из списка этот id удалил. Другие потоки, прежде чем сделать запрос, проверяют список, если id есть в списке, то в ожидание.
    Тут может быть та же проблема, но с меньшей вероятностью, поэтому проверка должна быть двойная: сначала проверил, что id нет такого, добавил, потом проверил, что их не два в списке и только тогда запрос. Если два, то удалил и с таймаутом пытается опять добавить.
    Я не знаю Ваших объемов бд, но как второй вариант рассмотреть нормальные очереди запросов. Перед запросом проверить есть ли очередь с именем айдишника, если нет, то создать и последующие запросы просто будут добавляться в свою очередь.
    Ответ написан
    Комментировать
  • Какую архитектуру выбрать для SPA?

    @kttotto
    пофиг на чем писать
    Если не имели дело с react/vue, то быстрее будет на js+jq, ангуляр для этого случаю можно отбросить. Я так понимаю сервис сам по себе не большой, поэтому кода много не будет. В виджет отдали селектор, внутри он сгенерировал разметку и обработчики, все запросы аяксом.
    Ну а если есть время и желание, то react/vue будет самое оно, это их дело компоненты стругать, на выходе у Вас будет js с нужным апи.
    Ответ написан
    Комментировать
  • Информация не сохраняется в БД?

    @kttotto
    пофиг на чем писать
    500 может выскочить когда не находит нужный урл. Проверьте тот урл, по которому идет запрос из клиента и что он есть на сервере.
    Ответ написан
  • В каких случаях используют С# и Java в веб-разработке?

    @kttotto
    пофиг на чем писать
    Без разницы на чем писать. На любом из перечисленных можно написать хорошее качественное решение. Стек для веба выбирают в основном из того с чем умеешь работать.
    Ответ написан
    Комментировать
  • Бутстрап хелперы как в asp на yii?

    @kttotto
    пофиг на чем писать
    Они есть. И еще.
    Ответ написан
    Комментировать
  • В чем заключается сакральный смысл .Net Core?

    @kttotto
    пофиг на чем писать
    Любую задачу можно эффективно решить и под core и под java. Но как по мне, то на C# мне надо меньше телодвижений делать и есть моменты, которые работают эффективнее, чем в java (все-таки C# помоложе и учитывал ошибки конкурентов). Плюс java более инертная, .net развивается быстрее, быстрее реагирует на потребности и если говорить об enterprise, то я считаю, что у .net перспектив больше.
    Ответ написан
    3 комментария
  • Насколько бесплатна разработка на ASP.NET для новичка?

    @kttotto
    пофиг на чем писать
    Это абсолютно бесплатный фреймворк. Можете на нем хоть простой, хоть средней, хоть большой руки делать сайты и платить за него не нужно. Если говорить о стеке, то не обязательно использовать mssql, можно и mysql, и postgres и т.д., он отлично работает с разными бд. Тоже самое касается и IIS, есть селфхост, есть кестрел.
    Ответ написан
    2 комментария