@CSharpChatЭта группа больше не существует

Страница 676 из 1888
Сергей
01.04.2017
17:49:22
Гайс, тут такой вопрос. Есть класс, в нем есть метод. Можно ли адекватно переопределить функционал метода у отдельного экземпляра класса?
Адекватно вряд ли, как вариант посмотри на "стратегию", сделай дефолтную для класса, и в нужный экземпляр подсунь стратегию (функу) в пропертю

Pichugin
01.04.2017
18:36:15
+

Андрей
01.04.2017
18:43:14
Не совсем понятен вопрос, тебе нужно чтобы ASP.NET API поддерживало JWT?
Ну jwt это вариант который я нашел который вроде бы подходит. Конечная цель - единая аутентификация для обычных экшенов и экшенов для апи (которая потом будет юзатся и в приложении на xamarin.forms)

Google
Nikolay
01.04.2017
18:44:12
А обычные экшены это твой сайт?

Андрей
01.04.2017
18:45:06
Да так как весь сайт не хочу делать как spa для экономии времени. Так как в приложении не весь функционал будет использоваться

Nikolay
01.04.2017
18:46:07
А зачем тебе единая аутентификация?

Андрей
01.04.2017
18:47:07
Мне кажется не удобно будет дублировать ее и в куках и в токене?

Nikolay
01.04.2017
18:48:41
Апи используют JWT, обычные контроллеры - куки

Да и JWT кстати вроде пофиг где хранить, можешь хранить в куках

Андрей
01.04.2017
18:50:31
Окей спасибо, как вариант рассмотрю такой подход. Если у кого буду другие мнения рад выслушать буду

Nikolay
01.04.2017
18:51:53
Да и вообще возможно правильным бы решением было отделить WebAPI от MVC сайта

Андрей
01.04.2017
18:52:59
Да и вообще возможно правильным бы решением было отделить WebAPI от MVC сайта
Каким образом? Кроме как отдельными web api контроллерами?

Nikolay
01.04.2017
18:53:26
MyProject.Web MyProject.Api MyProject.Data

Андрей
01.04.2017
18:53:35
А ну так я и планировал

Nikolay
01.04.2017
18:53:49
Ну а тогда в чём заморочка с авторизацией?

Используй для Api JWT, а для сайта куки, вообще проблем не будет

Google
Андрей
01.04.2017
18:55:19
Погуглю еще как их лучше генерировать в asp net и наверное буду действительно хранить в куке jwt

Nikolay
01.04.2017
18:57:05
Если что, мои слова не руководство к действию, у меня опыта в вебе не так много)

Это просто мои размышления

Андрей
01.04.2017
18:58:22
Я понял, все равно спасибо, с такой точки зрения не думал еще

Летучая
01.04.2017
19:10:13
Господа, никто не сталкивался с оч большим потреблением памяти Newtonsoft.JSON? DefaultContractResolver при десериализации что-то там у себя очень активно кеширует, да так активно, что приложение за 200 метров юзать начинает рам

Nikolay
01.04.2017
19:12:46
А у тебя json сильно большой?

Му
01.04.2017
19:13:29
25 см

Летучая
01.04.2017
19:15:14
кб всм

Pichugin
01.04.2017
19:16:03
:D

Летучая
01.04.2017
19:16:46
Читаю потоково, как и рекомендует Ньютон using (var httpClient = new HttpClient()) using (var stream = await httpClient.GetStreamAsync(urlString)) using (var streamReader = new StreamReader(stream)) using (var jsonReader = new JsonTextReader(streamReader)) { JsonSerializer serializer = new JsonSerializer(); return serializer.Deserialize<T>(jsonReader); }



гугление про датаконтрактресолверы чот не дало ответа про кеширование, опции в параметрах десериализации (типа IgnoreCache) тоже нет. мб знаете, чо это он так и как с этим бороться?

Nikolay
01.04.2017
19:20:07
Я 50мб парсил из файла, без проблем

А в итоге он у тебя его парсит?

Или какой-нибудь Out of Memory?

Летучая
01.04.2017
19:20:53
да, конечно, работать-то всё работает

но память течёт смерть как

Nikolay
01.04.2017
19:21:39
Попробуй выкачать свой json в строку и её распарсить

Или из файла

Google
Летучая
01.04.2017
19:21:46
сделал штук 20 прогонок и всё, 100 мегов нет

Nikolay
01.04.2017
19:22:00
Через JsonConvert.Deserialize кажется

Летучая
01.04.2017
19:22:18
Попробуй выкачать свой json в строку и её распарсить
до использования стримов юзал строки ) после запила стрима вместо строк особой разницы не заметил

Nikolay
01.04.2017
19:22:48
Подожди

Мб у тебя serializer течёт?

Хотя он должен высвободиться

Летучая
01.04.2017
19:23:07
https://github.com/Worldbeater/VkLibrary/blob/master/VkLib.Core/Vkontakte.cs вот соус

стримы пока не комитил

Nikolay
01.04.2017
19:23:45
Попробуй через JsonConvert.DeserializeObject

А

Вижу

Летучая
01.04.2017
19:24:27
оч много тестил с ним и в общем всё равно DefaultContractResolver жиреет

Летучая
01.04.2017
19:30:29
кстати говоря, на пике >2.63 MB а приложение в это время юзает 200 мегабайт (судя по диспетчеру задач и профайлеру VS) это типа 2.63 используемых, а 180 — управляемая куча?

Nikolay
01.04.2017
19:32:50
А ты попробуй без VS запустить

Летучая
01.04.2017
19:37:09


Nikolay
01.04.2017
19:46:26
Хмм

А ты уверен что у тебя десериализация кушает память?

Летучая
01.04.2017
19:46:49
Ну

Nikolay
01.04.2017
19:46:51
Мб у тебя контролы утекают?

Google
Летучая
01.04.2017
19:47:03
Есть же heap dump

и дотмемори, и студия

И там жирнее всего и больше всего места занимают вот этот контрактресолвер

иии

RuntimeType+RuntimeTypeCache

Nikolay
01.04.2017
19:48:13
Так оно у тебя всего 2мб кушает

Попробуй вызов оставить, но данные не использовать, чтобы точно уверенным быть

Летучая
01.04.2017
19:49:25
Ща thx

Admin
ERROR: S client not available

Летучая
01.04.2017
19:59:13




Так оно у тебя всего 2мб кушает
вот тоже это сбивает с толку что ж тогда представляют из себя остальные сотни тысяч байтов

Nikolay
01.04.2017
20:04:54
У тебя объекты утекают

Чего не должно быть

Оу

Я у тебя в сурсах косяк нашёл

Летучая
01.04.2017
20:06:06
????

Nikolay
01.04.2017
20:06:10
using (HttpClient httpClient = new HttpClient())

Так делать не нужно

Летучая
01.04.2017
20:06:42
Убрать юзинг?

Google
Nikolay
01.04.2017
20:06:53
Не

HttpClient не нужно создавать на каждый запрос

Летучая
01.04.2017
20:07:38
спс, ща вправлю

Nikolay
01.04.2017
20:07:42
http://stackoverflow.com/questions/22560971/what-is-the-overhead-of-creating-a-new-httpclient-per-call-in-a-webapi-client/22561368#22561368

Вот сравнение производительности:

SendTextMessageAsync without reusing HttpClient: 00: 00: 00.3019223 SendTextMessageAsync with reusing HttpClient: 00: 00: 00.0847740

Летучая
01.04.2017
20:08:37
красота. спасибо!

Nikolay
01.04.2017
20:11:39
Ещё бы посоветовал вместо полного имени типа использовать var, но тут уж на вкус и цвет

Блин, не знаю даже в чём проблема, в том коде реально утекать нечему

Летучая
01.04.2017
20:30:19
чудеса конечно ладно, спасибо огромное за подсказки! запросики с постоянным хттпклиентом оч быстрее отправляются

Matviei
01.04.2017
20:45:37
Ребят

Обьсните нубу

Чем отлицаются первичные конструкторы от обычных ?

Отличаются*

Nikolay
01.04.2017
20:49:33
Просто более сокращённая запись

Аргументы, которые указаны у тебя в первичном конструкторе будут доступны в классе как private поля

Nikolay
01.04.2017
21:05:33
Не знаю

Пока вроде нет

Sergey
01.04.2017
21:21:03
Господи неужели Xamarin вшит в VS 2017

Страница 676 из 1888

Эта группа больше не существует Эта группа больше не существует