
Anton
31.01.2017
13:11:14
Wait блокирует текущий поток по определению

Вячеслав
31.01.2017
13:11:27
Так тут в обоих случаях он

Anton
31.01.2017
13:11:45
Пока не выполнится

Google

Вячеслав
31.01.2017
13:12:04
Да, но в первом случае у меня просто все зависало
А во втором с задержкой но саботало, что собственно и надо было

Anton
31.01.2017
13:14:04
Ну в первом там дедлок скорее всего где-то происходит
Используй лучше ContinueWith

Вячеслав
31.01.2017
13:17:19
Угу

Anton
31.01.2017
13:18:02
А зачем там async внутри?

Вячеслав
31.01.2017
13:18:20
Там await просрустил
Я наверное ща сяду где нибудь (в дороге) и напишу что я вообще делал

Anton
31.01.2017
13:18:57
А

Вячеслав
31.01.2017
13:19:06
А то сам способ говно может

Friedrich
31.01.2017
13:20:42
Task.Wait в UI-потоке очень часто всё подвешивает, если асинхронностью баловаться. Лучше так просто не делать никогда.
У тебя иногда async-задача, которой ты делаешь Wait, хочет быстренько что-нибудь сделать в том самом UI-треде. И тогда всё вешается, потому что она ждёт UI-треда, а он ждёт её.

Google

Anton
31.01.2017
13:22:22


Дмитрий
31.01.2017
13:26:29
Всем привет ещё раз.
Возник вопрос по EF 6, может, кто-нибудь уже сталкивался и успешно решил проблему.
Суть.
Есть БД на SQL Server 2012, в ней две интересующие меня таблицы
dvsys_carddefs
(
[CardTypeID] UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL,
[Alias] VARCHAR(64) NULL,
-- прочие поля
CONSTRAINT [dvsys_carddefs_pk_cardtypeid] PRIMARY KEY CLUSTERED ([CardTypeID]) ON [PRIMARY]
)
dvsys_instances
(
[InstanceID] UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL CONSTRAINT [dvsys_instances_def_instanceid] DEFAULT (NEWSEQUENTIALID()),
[Timestamp] TIMESTAMP NOT NULL,
[CardTypeID] [UNIQUEIDENTIFIER] NULL,
[Description] NVARCHAR(512) COLLATE Cyrillic_General_CI_AS NULL,
-- прочие поля
CONSTRAINT [dvsys_instances_fk_cardtypeid] FOREIGN KEY ([CardTypeID]) REFERENCES [dbo].[dvsys_carddefs] ([CardTypeID]) NOT FOR REPLICATION
)
Пытаюсь эту красоту (конкретно - таблицу dvsys_instances) замапить в EF следующим образом, используя table-per-hierarchy маппинг (разграничение предполагается по столбцу CardTypeID)
public class BaseCard
{
#region Properties
[Key]
public Guid InstanceID { get; set; }
[Timestamp]
public byte[] Timestamp { get; set; }
[StringLength(512)]
public string Description { get; set; }
public bool? Deleted { get; set; }
public bool? Template { get; set; }
#endregion
#region Constructors
public BaseCard() { }
#endregion
#region object methods overriding
public override string ToString()
{
return Description;
}
#endregion
}
public class Document : BaseCard // CardTypeID == B9F7BFD7-7429-455E-A3F1-94FFB569C794
{
#region Properties
#endregion
#region Constructors
public Document() : base() { }
#endregion
}
public class DatabaseContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder builder)
{
Database.SetInitializer<DatabaseContext>(null);
builder.Entity<BaseCard>().ToTable("dvsys_instances", "dbo") // пока что вкостылено константами
.Map<Document>(c => c.Requires("CardTypeID").HasValue(new Guid("B9F7BFD7-7429-455E-A3F1-94FFB569C794")).IsOptional());
base.OnModelCreating(builder);
}
}
но при попытке извлечь DbSet<Document> EF бросает исключение:
Schema specified is not valid. Errors: (18,12) : error 2016: Condition can not be specified on values of member 'CardTypeID'. Value conditions are not supported for type 'SqlServer.uniqueidentifier'.
В процессе гугления нашёл, что вроде как столбец-discriminator не должен содержать ограничений foreign key.
Фигня вопрос, добавил в dvsys_instances новый столбец, перекопировал в него значения из CardTypeID, чтобы отвязаться от ограничения - и получил ровно то же самое.
В гугле и на стэковерфлоу пишут, что на scalar-variable типах (a uniqueidentifier как раз такой) должно вроде как работать искаропки.
Пробовал добавлять столбцы типа INT и VARCHAR(64) - на них работает как нефиг делать,
НО #1 всё равно нифига не наглядно, а в случае с varchar ещё и размер таблицы изрядно увеличится
НО #2 проблема в том, что с тестовой базой я могу всё что угодно сотворить, а на проде никто такое сделать не даст, особенно когда в целевой таблице dvsys_instances несколько сотен миллионов строк, постоянно добавляются новые, а пользователей много и они злые. То есть хотелось бы избежать изменения структуры таблиц БД и при этом достичь желаемого результата.
P. S.
1. да, это database first (так исторически сложилось)
2. не надо говорить, что это УГ - я и сам прекрасно знаю
3. да, мсье знает толк в извращениях
у кого-нибудь появились какие-нибудь идеи по поводу этой моей простыни? или я вообще фигню делаю и всё можно проще / по-другому?


Anton
31.01.2017
13:29:15
Грубо говоря у тебя функция может быть либо синхронной, либо асинхронной.
Асинхронные можно делать через async, а можно просто через колбэки. Колбэки можно при желании перевести в async через TaskCompletionSource, а async можно перевести в колбэк через ContinueWith.
Синхронную в асинхронную можно перевести через Task.Run (на другом потоке) или просто передав колбэк (в том же потоке), а асинхронную в синхронную через Wait (для разных потоков).
Можно табличку обо всём этом нарисовать)
Вот только там дополнительно всё усложняется, если многопоточность учитывать.

Вячеслав
31.01.2017
13:36:22

Friedrich
31.01.2017
13:37:54
Ничего страшного, мало у кого получается с наскоку в этой теме разобраться.

des
31.01.2017
13:41:16
на Sharepoint оказывается может аякс ломаться. А чинится это перезагрузкой сервера. Вот это да.

anton
31.01.2017
13:43:26

Friedrich
31.01.2017
13:43:49
А ты прям наизусть спрашиваешь? %)
static void <>__AsyncStateMachine0...
// хе, повезло мне собеседоваться ещё в те годы, когда async-ов не было :)

des
31.01.2017
13:45:52
реально проблема оказывается, встречал кто-нибудь?
https://forums.asp.net/t/1069384.aspx?Sys+Webforms+PageRequestManagerServerErrorException+actual+cause+related+RoleManager+issue+

anton
31.01.2017
13:46:01
А ты прям наизусть спрашиваешь? %)
почти :)
но я же не заставляю прямо дословно рассказать во что оно размотается (с точки зрения кода). ожидаю услышать про стейт машину, что будет происходить с тредами, когда происходит продолжение выполнения и тд

Ilya
31.01.2017
13:48:04
для ботов в ажуре вэб апп разворачивается?
http://i.imgur.com/ar76Ual.png
это?
неудобный в ажуре скролл в право, раньше лучше было

anton
31.01.2017
13:49:33
неудобный в ажуре скролл в право, раньше лучше было
да там весь портал какой то неудобный.
я как-то на виртуалке, где только Edge из браузеров - зашел в портал...
на следующие сутки сработал алерт на VM, что память кончилась..
полез смотреть - единственная вкладка в Edge с порталом ажуры сожрала 1.9 гига :)

Ilya
31.01.2017
13:51:25
да ужас там юзабилити

Google

Ilya
31.01.2017
13:51:36
когда слева был список всех сервисов как-то проще было

PaGrom
31.01.2017
13:51:38
Из москалей никто работу не ищет? https://m.hh.ru/vacancy/17903408

Ilya
31.01.2017
13:51:43
а сейчас новые окна открываются справа

PaGrom
31.01.2017
13:52:26
https://m.hh.ru/vacancy/19245712

Вячеслав
31.01.2017
13:54:16
В общем у меня есть класс для работы с удаленной бд по хттп, внутри него используется httpClient
Я сделал окошко логина и в том же окне я хотел сделать дальнейшую работу, для этого я разместил там два юзерконтрола с флагом визибла
Так вот в вм для логина есть эвент логинга, который возвращет юзера
На него подписывается вм окна и для этого юзера получает список из бд асинхронно, и передает его другой вм. Вот это кучок кода я и тестировал

Artem
31.01.2017
14:29:25
это?
Да. Это. Есть отдельно BotPlatform, но там через Azure Functions.
их пока не очень удобно разрабатывать

Ilya
31.01.2017
14:30:25
Там вроде "превью", да?

Artem
31.01.2017
14:33:04

Sergey
31.01.2017
15:50:16
раз уж у нас азура - тема дня, вот вам с хабры https://habrahabr.ru/company/microsoft/blog/320544/

Timerkhan
31.01.2017
16:17:23
Всем привет) а никто не знает хорошие ресурсы где описывается разработка для SharePoint 2013?

? Райзя ?
31.01.2017
16:19:44

Dmitry
31.01.2017
16:24:13
Что можно заменить? просмотрел )) ps спасибо

Летучая
31.01.2017
16:29:16
в чатиках по вебу какие-то поехавшие модераторы
сабж сначала угрожал мне расправой за матюки, а после сообщения в личку пидорнул из чатика
я понимаю что это никому не интересно, но не будьте такими модераторами плес
что за новости?

Google

Летучая
31.01.2017
16:29:16
http://lurkmore.to/%D0%A1%D0%B8%D0%BD%D0%B4%D1%80%D0%BE%D0%BC_%D0%B2%D0%B0%D1%85%D1%82%D1%91%D1%80%D0%B0

Slava
31.01.2017
16:30:19
ну материться не есть хорошо. нас дети читают)

anton
31.01.2017
16:30:47

Gid
31.01.2017
16:31:39

Admin
ERROR: S client not available

? Райзя ?
31.01.2017
16:34:02

Сергей
31.01.2017
16:34:49

Slava
31.01.2017
16:36:49

Gid
31.01.2017
16:39:13
В разработке все или поехавшие
Или постарели в душе на 15 лет
Когда написали свой первый синглтон
Так что нет детей

? Райзя ?
31.01.2017
16:39:51
или умерли в душе

Gid
31.01.2017
16:40:02
Да
Они теперь на дне с нами

? Райзя ?
31.01.2017
16:40:20

Slava
31.01.2017
16:40:32

Gid
31.01.2017
16:41:10

Google

? Райзя ?
31.01.2017
16:41:29

Artem
31.01.2017
16:43:49

Ilya
31.01.2017
19:36:46
Что делает update-database -ignore_changes?
Entity framework

Microsoft news
31.01.2017
19:56:22
ASP.NET Core MVC 1.1.0 Vulnerabiltiy Guidance
https://visualstudiomagazine.com/articles/2017/01/31/asp-net-core-mvc-110-dos-flaw.aspx
Microsoft's security bulletin describes a security vulnerability that exposes apps targeting ASP.NET Core MVC 1.1.0 to possible denial of service attacks, and issues mitigation guidance.

DiffieHellman [BlueCode] C#
01.02.2017
06:07:46
Как кодить? А то я с питона ушел

Donald
01.02.2017
06:08:19
Читаешь рихтера и идешь качать ide

DiffieHellman [BlueCode] C#
01.02.2017
06:08:40
У меня xamarin уже есть

Mad
01.02.2017
06:15:27

DiffieHellman [BlueCode] C#
01.02.2017
06:15:38
Почему?

Mad
01.02.2017
06:15:40
И жс
Почему?
Мне показалось что работы больше

Ilya
01.02.2017
06:21:32

Вячеслав
01.02.2017
06:23:35
как забиндать PasswordBox ?
https://wpftutorial.net/PasswordBox.html
по этой ссылке сделал
Эта группа больше не существует