
Влад
13.06.2017
18:28:44

Летучая
13.06.2017
18:28:46
что я не буду покупать офис

Sasha
13.06.2017
18:28:52
Добрый вечер коллеги, мне надо с помощью DataAnnotion сделать валидациюполя типа Enum
Точнее мне надо запретить некоторые значение моего tnum как это сделать

Летучая
13.06.2017
18:28:53
потому, потому и вот поэтому
причём тут государство

Google

Vlad
13.06.2017
18:29:02
Доставайте банхаммер уже.

Олег
13.06.2017
18:29:16
Это паскаль! Удоли!1

Влад
13.06.2017
18:29:23
Дз.
так оно возвращает переменную.

Олег
13.06.2017
18:30:02
В паскаль-чатик надо

Летучая
13.06.2017
18:30:12

Влад
13.06.2017
18:30:23
та тут по-моему ошибки компилятора.

Blue Screen of Death
13.06.2017
18:30:24
Какой он некрасивый этот ваш паскаль

Олег
13.06.2017
18:30:36

Влад
13.06.2017
18:30:38
не раз такое видел в этом конченном abc.net

Дмитрий
13.06.2017
18:30:39

Andrey
13.06.2017
18:30:45
действительно
то-то у нас государство ввело дневное отделение
как раз чтобы студенты по ночам работали

Влад
13.06.2017
18:30:50
Position - мой тип.

Google

Влад
13.06.2017
18:30:59
всё как в документации.

Дмитрий
13.06.2017
18:31:03
что мешает этот позишен создать, заполнить поля и уже созданный экземпляр позишена записать как результат функции?

Летучая
13.06.2017
18:31:04
и в чём оно виновато

Andrey
13.06.2017
18:31:22
В том, что ввело дневное отделение.
Не было бы его, тогда бы работать сумел.

Летучая
13.06.2017
18:31:38
я и так умею

Дмитрий
13.06.2017
18:31:43
пф

Влад
13.06.2017
18:31:49

Sasha
13.06.2017
18:31:49
Ну вот у меня
Enum MyENum
{
P1,
P2,
P3
}
хочу чтоб было ззапрещено ставить P3, т.е. механизм валидации ругался

Летучая
13.06.2017
18:31:50
но не все в этой жизни программисты

Дмитрий
13.06.2017
18:31:57
я вообще охраннегом в студотряде охраны начинал, кек

Andrey
13.06.2017
18:32:02

Летучая
13.06.2017
18:32:14
некоторые по ночам работают

Andrey
13.06.2017
18:32:24
Да, есть такое.

Дмитрий
13.06.2017
18:32:31
а некоторые вообще без выходных ?

Andrey
13.06.2017
18:32:53

Дмитрий
13.06.2017
18:33:12

Andrey
13.06.2017
18:34:37
Ладно, даже скучно с рыбой спорить. Сливает вчистую. Все аргументы опроверг, но он выдумывает новые)

Летучая
13.06.2017
18:38:03
ты максималист
у людей разные жизненные ситуации бывают
не надо вскрывать эту тему, вы молодые, шутливые, вам всё легко

Google

Andrey
13.06.2017
18:40:04

Ilya
13.06.2017
18:40:45
Ооооо в интернете опять кто то не прав )))

ichi4Ø4
13.06.2017
19:02:39
что делать, если в гитхаб запушил конфиг с паролями?

Сергей
13.06.2017
19:03:09
Поменять их

Ilya
13.06.2017
19:03:41
что-то типа того

ichi4Ø4
13.06.2017
19:06:28
мда, не в тот чат

Nikita
13.06.2017
20:02:38
ибо гугол уже проиндексировал

Олег
13.06.2017
20:04:08
Может, у него приватный гитхаб

Nikita
13.06.2017
20:04:34
всё равно лучше поменять

Сергей
13.06.2017
20:09:08
И хранить более защищенно

Again
13.06.2017
20:19:00
как лучше собрать Asp.net mvc проект
чтоб запустить на другом пк
там EF code-first

Влад
13.06.2017
20:29:24
Мда.
Решил на паскале пописать дз.
Если б не поддержка .Net, я б со*нул сотню раз.
Извиняюсь за выражение.

Google


Arseniy
13.06.2017
20:43:07
еще раз привет. можете плиз пояснить за реализацию транзакций с поддержкой ассинхронности async/await.
более развернуто. есть набор хранимок, которые спрятаны за методами класса (ов).
хочу сделать так, чтобы можно было обернуть последовательность таких вызовов транзакцией.
простой вариант - протянуть руками через вызовы условный IDbTransaction. но енто плохо, потому что придётся переписать слишком много всего, не факт, что реально.
хотелось бы сделать по аналогии с аспектом транзакций спринга. но вопрос как быть с async/await.
то есть очень просто сделать через какой-нибудь Thread.SetData. типо запихнуть туда транзакцию, потом при создании объекта DbCommand смотреть в данные потока и устанавливать транзакцию если не пусто.
но при асинхронной работе, по завершеннии одного метода, мы можем оказаться в другом потоке пула.
и тогда надо как-то этот контекст с транзакцией восстанавливать и убирать. я так понимаю, что через SynchronizationContext.SetSynchronizationContext.
но никогда такого не делал и не до конца понимаю.
есть эксперты?
либо скажите, где это реализовано. чтобы я пошел почитал код.
@nikita_tsukanov, сорян, что саммоню, но подскажи плиз, хоть в каком направлении смотреть

Admin
ERROR: S client not available

Му
13.06.2017
20:56:57
может посмотреть в сторону ConfigureAwait(false)
но то что ты написал выглядит как-то ненадёжно

Arseniy
13.06.2017
20:57:46
ну ConfigureAwait(false) - это как раз не возвращаться в контекст синхронизации. как я понимаю

Му
13.06.2017
20:57:55
хотя нет, он наверное не поможет
да

Arseniy
13.06.2017
21:00:05
но то что ты написал выглядит как-то ненадёжно
ненадежно выглядит то что есть сейчас, когда все работает через данные потока, а всякие разные люди рисуют вокруг вызовов async/await, при том что текущая реализация работы с бд вообще ни в каком виде ассинхронность не поддерживает. то есть в лучшем случае, все равно забиваются потоки, хотя кому-то кажется, что волшебство свершилось. а в худшем, не отрабатывает логика работы с транзакциями. если чо, кодовая база старая. один только спринг дотнет чего стоит

Му
13.06.2017
21:01:16
а что-нибдуь типа
using (TransactionScope scope = new TransactionScope())
{
}
не подхожит?
правда не знаю как он дружит с async]await
https://stackoverflow.com/questions/13543254/get-transactionscope-to-work-with-async-await
может натолкнёт на мысль

Arseniy
13.06.2017
21:07:26
а что с ним делать-то? я вообще не понимаю, как он работает. тем более на низком уровне, когда "вызов хранимки" - есть создание и исполнение некой IDbCommand, и чуть выше где вызов метода - это один или несколько разных вызовов хранимков.
тут есть еще более отвлеченный вопрос. то ли я плохо гуглю, но даже никакого нативного генератора типизированных оберток над хранимками нету для Оракла нету.

Му
13.06.2017
21:10:14
а в оракл каким провайдером ходишь?
мы юзаем родной ODP и он всё поддерживает, в том числе TransactionScope

Arseniy
13.06.2017
21:10:38
а мне какбэ нужны все его нативные типы вроде OracleBlob, OracleClob и тд. ну и желательно, чтобы не было лишнего боксинга. а то я там что-то посмотрел, где все значимые типы при вычитывании сначала гонят через object. ну и эта херня с позиционными аргументами тоже не решена.

Google

Му
13.06.2017
21:11:05
ага

Arseniy
13.06.2017
21:11:55
а есть понимание, как это работает?

Му
13.06.2017
21:13:52
вызовы к БД оборачиваются в using TransactionScope, и делаются вызовы через ODP как обычно
всё это работает в том числе и распределённо через MSDTC между несколькими серверами через WCF\MSMQ

Arseniy
13.06.2017
21:22:02
я все равно не понимаю. гляжу пример https://msdn.microsoft.com/en-us/library/system.transactions.transactionscope(v=vs.110).aspx
к моменту вызова scope.Complete();
обе команды уже исполнены и соединения прошли диспоуз.
и если что-то развалилось, то
The Complete method commits the transaction. If an exception has been thrown,
// Complete is not called and the transaction is rolled back.
как это может быть?

Му
13.06.2017
21:25:29
почему прошли диспоуз?
коннект будет висеть пока ты не закоммитишь транзакцию
при выходе из using`а она закоммитится сама, если ты не скажешь обратное руками

Arseniy
13.06.2017
21:26:12
ну я предполагаю, что using (SqlConnection connection1 = new SqlConnection(connectString1))
диспозит коннект
или там есть внутри какая-то супер-вуду магия, что TransactionScope удерживает все необходимые коннекты?

Му
13.06.2017
21:27:43
про это не подскажу
но думаю что там есть какая-то магия :)
Эта группа больше не существует