Это известная проблема в версии 2.1, и она была исправлена в 2.2 preview-1.
В ядре asp.net 2.1 используется AddDefaultIdentity
, и впрыск становится до
[110 ]
, не сделает Roles
включенным по умолчанию и всегда возвращает false для User.IsInRole
.
Чтобы обойти это, вместо использования нового AddDefaultIdentity
для настройки Identity, просто используйте API старого стиля:
services.AddIdentity()
.AddRoleManager>()
.AddDefaultUI()
.AddDefaultTokenProviders()
.AddEntityFrameworkStores();
Другим способом является то, что вы можете заменить фабрику UserClaimsPrincipal на одну с учетом роли. Добавьте ниже код в ConfigureService и обратитесь к UserRoles в DefaultIdentity
services.AddScoped, UserClaimsPrincipalFactory>();
Если Вы разделяете на подклассы Control
, можно звонить OnResize
непосредственно, или выставьте его на API:
public void OnResize() {
this.OnResize(EventArgs.Empty);
}
Однако Вы не можете сделать этого для произвольных средств управления. Вы могли измениться Size
туда и сюда? С другой стороны, Вы могли использовать отражение, но это - hacky:
typeof (Control).GetMethod("OnResize",
BindingFlags.Instance | BindingFlags.NonPublic)
.Invoke(myControl, new object[] {EventArgs.Empty});
Просто измените размер использования управления: Управление. Размер = новый Размер (x, y);
Изменение размера управления будет, проблема a изменить размер события для того управления и управления должна изменить размер.
Кроме того, если Вы просто хотите перерисовать управление, затем сделайте: Управление. Делайте недействительным ();
Почему Вы хотите сделать это, и в какой сценарий? Можно назвать OnResize, например, когда Вы находитесь в самом управлении (т.е. в Вашем полученном классе управления). (Или через Отражение, когда Вы снаружи.)
Кроме этого, необходимо будет, вероятно, изменить размер управления, начиная с того, для именно это событие Resize :)