Size: a a a

2020 November 13

ГД

Григорий Дивотченко... in F# Chat
подскажите пожалуйста, что не так с моим use httpClient.
в таком виде выбрасывается ObjectDisposedException, если заинлайнить метод createHttpClient - всё отрабатывает корректно
источник

NK

ID:0 in F# Chat
источник

g

gsomix in F# Chat
Григорий Дивотченко
подскажите пожалуйста, что не так с моим use httpClient.
в таком виде выбрасывается ObjectDisposedException, если заинлайнить метод createHttpClient - всё отрабатывает корректно
Но createHttpClient не функция, а значение. 🤔
источник

AH

Ayrat Hudaygulov in F# Chat
Григорий Дивотченко
подскажите пожалуйста, что не так с моим use httpClient.
в таком виде выбрасывается ObjectDisposedException, если заинлайнить метод createHttpClient - всё отрабатывает корректно
У тебя create Http Client значение, а не функция

let Abc =
 Print foo
 1

Вот что у тебя написано
источник

AH

Ayrat Hudaygulov in F# Chat
Здесь Abc вычислится один раз (с печатью)
источник

ГД

Григорий Дивотченко... in F# Chat
правильно ли я вас понял?)
источник

RM

Roman Melnikov in F# Chat
Григорий Дивотченко
правильно ли я вас понял?)
Ага
источник

ГД

Григорий Дивотченко... in F# Chat
хм, я почему-то думал, что ionide мне показывает возвращаемое значение из функции, а не тип createHttpHandler. спасибо!
источник

RM

Roman Melnikov in F# Chat
Григорий Дивотченко
хм, я почему-то думал, что ionide мне показывает возвращаемое значение из функции, а не тип createHttpHandler. спасибо!
возвразаемое значение он тоже показывает, но в сигнатуре ф-ции!
источник

VS

Vladimir Shchur in F# Chat
Dr. Friedrich von Never
Очень легко.

1. На 373 строчке вызываем SetResult
2. На 374 строчке падаем (что угодно — OOM, например) — хотя я не понимаю, сколько логики туда упаковано, но похоже, что немало
3. На 386 строчке вызываем SetException
там скорее всего эксепшн со следующего лупа просачивается в текущий, я этого не ожидал
источник

Dv

Dr. Friedrich von Ne... in F# Chat
Vladimir Shchur
там скорее всего эксепшн со следующего лупа просачивается в текущий, я этого не ожидал
Ага, тоже возможно.
источник

I

IdiocyAcceptance in F# Chat
Григорий Дивотченко
хм, я почему-то думал, что ionide мне показывает возвращаемое значение из функции, а не тип createHttpHandler. спасибо!
Он всегда показывает тип объекта. Типы функций обычно имеют сигнатуру f: x -> y, просто переменные имеют сигнатуру v: x
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Shchur
там скорее всего эксепшн со следующего лупа просачивается в текущий, я этого не ожидал
Вообще изявый тест покажет правду
источник

VS

Vladimir Shchur in F# Chat
да, проверил - просачивается
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Shchur
да, проверил - просачивается
Вообще это не должно быть по дизайну для асинков, ведь они поддерживают тейлколы.
источник

AH

Ayrat Hudaygulov in F# Chat
То есть там на ретурн! должен свой контекст создаваться
источник

AH

Ayrat Hudaygulov in F# Chat
Vladimir Shchur
да, проверил - просачивается
А проверь, твоя конструкция точно сейфовый тейл кол?
источник

VS

Vladimir Shchur in F# Chat
источник

AH

Ayrat Hudaygulov in F# Chat
Видимо трай кетч ломает всё.
источник

VK

Vladislav Khapin in F# Chat
Async.Catch
источник