Ответы пользователя по тегу C#
  • На чем писать чат?

    @Quilin
    Full-stack разработчик
    Протокол - это контракт взаимодействия между клиентом и сервером. Он может быть совершенно любым, коль скоро вы пишете и приложение-клиент, и сервер самостоятельно. Можно при желании вообще свой протокол написать. Только, конечно, изобретать велосипед особо смысла, пожалуй нет. Что касается MT Proto от Telegram, он, конечно, достаточно безопасный, но чтобы его использовать нужны определенные требования. Я бы советовал не изобретая велосипед и не гоняясь за модными решениями взять что-то простое, типа HTTP(S) и использовать его. А если что-то на этом протоколе реализовать не получится, тогда уж вы и сможете в полной мере назвать причины перехода на другие протоколы.

    Что касается готовых решений для чата - они, несомненно, существуют. Надо просто погуглить.

    Что касается среды разработки - она целиком зависит от выбранного вами языка. Xamarin, например, позволит вам и под ios, и под андроид писать на C#. Для C# лучшая среда - Visual Studio. Если будете писать на Java - там свои JetBrains тулзы.

    Надо просто хорошо понимать, что конкретно вы хотите сделать, и что вы подразумеваете под масштабированием. Шардинг/репликация базы данных? Количество активных коннекций?
    Ответ написан
    Комментировать
  • Как оптимизировать код?

    @Quilin
    Full-stack разработчик
    Могу ошибаться, но тем не менее, запрос с ToUpper в C# driver mongoDb выглядит не очень оптимальным. Увы, сейчас нет возможности проверить, но скорее всего для более быстрого решения этой задачи придется создать поле-индекс, в котором уже хранить имя и/или фамилию в upper case, для быстрого к ним доступа через регулярку.

    Также многие разработчики на .NET MVC считают, что обращения к базе данных прямо из контроллера, равно как и вывод данных на вьюхе через ViewData - это моветон.

    Я, увы, не могу написать вам сообщение на хабре, из-за вашего режима ридонли, однако же могу предложить вам поупражняться с подобными задачами на моем проекте, который как раз на ASP.NET MVC + mongoDb/MSSQL. Напишите в Skype v_qilin, если вам интересно.
    Ответ написан
    Комментировать
  • Как динамически заменять PartialView на одной странице?

    @Quilin
    Full-stack разработчик
    Можно воспользоваться библиотекой jquery.unobtrusive.ajax, которая идет в коробке с MVC 3+ и с хелпером AjaxHelper. Я бы не советовал это решение для крупных веб-приложений, поскольку он требует от вас горизонтальной структуры зависимостей, что не всегда бывает удобно (и точно неудобно для модульности), но для небольших страниц - в самый раз, почти ничего писать не надо.

    <div id="Container">
        @Html.Partial("Partial2")
    </div>
    @Ajax.ActionLink(
        "Заменить",
        "Replace",
        "Test",
        new { someId = 12 },
        new AjaxOptions{
            UpdateTargetId = "Container",
            InsertionMode = InsertionMode.Replace,
            HttpMethod = "POST"
        })


    public class TestController : Controller
    {
        [HttpPost]
        public ActionResult Replace(int someId)
        {
            return PartialView("Partial2", someId);
        } 
    }
    Ответ написан
    Комментировать