Andrew
Может там запрос висит
Nikolay
Ну по коду он ничего не возвращает)
Andrew
Это да, но хорошо бы снаружи понять что не так, типо как это видит та же телега
Andrew
И тогда можно понять что нужно добавить
Nikolay
А, вот так видимо надо .Close
Nikolay
Хз насколько это ок)
Andrew
Ну попробуй и узнаешь)
Andrew
Выглядит ок
Aleksandr
лучше все-таки пропускать строки
Aleksandr
а то чет код сливается
Nikolay
лучше все-таки пропускать строки
Я обычно ставлю пропуски строк для разделения логических блоков кода, либо в многострочных match. В остальном, для себя не сказал бы, что строки сливаются. Когда видишь слишком много странного форматирования, сливание кода это цветочки :D
Aleksandr
ну я еще после матчей всегда ставлю
Aleksandr
в этом никакой логики, просто предпочтения
Aleksandr
после серии пайпов или матчей начинать новый экспрешн через строку
Aleksandr
жалко что нет своего аналога pep-8 на фшарп
Aleksandr
ведь даже простые вещи типа форматирования ифов - до сих пор холиварная тема
Vladimir
форматирование ифов уже стандартизовано в стайлгайде
Nikolay
Увы, нормального стайлчекера нет :(
Vladimir
фантомас разве не настраивается?
Nikolay
фантомас разве не настраивается?
Фантомас никак не могут завезти elmish like синтаксис
Nikolay
Точнее оно есть, но какое-то очень такое себе
Vladislav
Фантомас никак не могут завезти elmish like синтаксис
Потому что непонятно где элмиш а где обычные методы функции
Vladislav
Фантомас в душе не чает что это
Vladislav
Этих элмишей как насекомых
Nikolay
Да это можно запилить в конфигурации
Nikolay
Название типа возвращаемого функцией
Nikolay
Иначе никак
Prunkles
Ребят, а что лучше использовать, чтобы выгружать на сервер файл (один) + данные ?
Prunkles
И чтобы это было одним запросом, а не двумя отдельными
Aleksandr
используй формы
Aleksandr
multipart/form-data
Prunkles
используй формы
И там передавать под одним ключом файл, а под другим — дополнительные данные?
Aleksandr
да, там так можно
Aleksandr
можно несколько файлов (в т.ч. неопределенное их количество (массив))
Prunkles
можно несколько файлов (в т.ч. неопределенное их количество (массив))
И это меня немного пугает, потому что мне нужен строго один
Aleksandr
ну так и передавай один
Aleksandr
тебя ж никто не принуждает
Aleksandr
https://habr.com/ru/post/511114/
Prunkles
ну так и передавай один
И потом на сервере всякие TryHead использовать при валидации?
Aleksandr
нет, я не знаю какой у тебя фреймворк, но наверняка там есть model-binding. Укажи в модели, что ты ожидаешь один IFormFile - определи свойство с таким типом
Aleksandr
для массивов там используется уже другой тип. в том же аспнеткоре есть IFormFileCollection
Shub
Это кстати правда
Давно пора признать, что F# is better C# than C#
Ilya
Кому?
Shub
Всем. Тебе в первую очередь. Всему человечеству
Ilya
Смело)
Shub
Не ну а чо, нет никаких сложностей писать как на С# с лаконичным синтаксисом
Ilya
Не все сишарперы синтаксис одобрят. Все эти member и __.myProp
Aleksandr
+ странно что протектедов нет
Ilya
И early return.
Aleksandr
Надо указать биндеру, что тянуть надо с формы
Prunkles
Надо указать биндеру, что тянуть надо с формы
Так название метода (TryBindFormAsync) кажется на это и так намекает
Aleksandr
А, я прочитал from
Aleksandr
Не знаю в общем, я с таким не работал
Aleksandr
Это giraffe?
Aleksandr
Может тебе ниже подскажут
Prunkles
В случае с обычным аспом я бы просто добавил бы аргументы с аттрибутами [FromForm] , но тут так не делается
Aleksandr
А somedata он при этом биндит?
Prunkles
А somedata он при этом биндит?
Да, если только его оставить
Aleksandr
Чет на первой странице гугла не находится
Aleksandr
Не знаю, может быть это здесь не реализовано
Aleksandr
Но из контекста-то можно вытащить в любом случае
Vagif
Потратил без малого день, чтобы сделать в проекте поддержку websocket для общения с клиентом Fable (взяв за основу пример @grishace), и когда спустя много часов по-прежнему толком не работало, вдруг обнаружил, что типы сообщений в клиенте и сервере лежат в разных неймспейсах. Так бездарно проходят выходные
Vagif
Зато теперь впереди светлое будущее.
Aleksandr
Ой до чего ж знакомо. Меня как-то спросил стажер почему у него роутинг в аспнет мвс не работает
Aleksandr
А там у него атрибуты из другой сборки
Vagif
В итоге все оказалось просто. Кроме гребаных неймспейсов (которые у Гриши благоразумно лежали в папке Shared)
Vagif
Ой до чего ж знакомо. Меня как-то спросил стажер почему у него роутинг в аспнет мвс не работает
Я уже привык. Если что-то вдруг не чинится несколько часов, значит чушь какая-то за всем этим.
Vagif
Из запомнившихся последних проебов (правда не мой, коллеги) - когда мы разбирались, почему запросы некоторые выполнялись долго, сделали кучу графиков в графане и все они показывали, что запросы все укладываются в секунду. Это было очень подозрительно, я просил коллегу перепроверить код, сам посмотрел, ничего не находили. Потом, чуть ли не среди ночи дошло: нужно брать не timespan.Milliseconds, а timespan.TotalMilliseconds. Тут-то и обнаружились медленные запросы.
Aleksandr
Пришлось поднапрячься, чтобы вспомнить разницу
Vagif
Вообще подозреваю, что многие головой об стенку бились из-за свойств TimeSpan. Дурацкое решение было назвать просто Milliseconds, Seconds etc имея в виду, что это лишь дробные части.
Aleksandr
Там остатки от деления лежат же, емним?
Aleksandr
Да, так и есть