Исправить шаблон запуска aspnetboilerplate, арендатора или редактировать с ошибками - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь использовать AspBoilerPlate в качестве фреймворка, потому что он выглядит действительно хорошо, и мне было трудно пытаться получить многопользовательский режим на базе идентификатора Овина (я отправил вопрос несколько дней назад: Asp.Net Identity Multitenant

Я скачал Asp.Net MVC, чтобы я мог портировать уже имеющийся код, с нуля загружать данные, которые я могу войти, создавать пользователей, арендаторов, но в любом представлении, если я нажимаю кнопку ИзменитьПри входе в систему, если я нажимаю кнопку Изменить, появляется ошибка Произошла ошибка.

Я предпринял следующие шаги (пробовал обе версии ASP.Net MVC и Core):

  1. Загрузка / Распаковка / Открытие и загрузка на VS 2019
  2. Изменение строки подключения на web.config
  3. Запуск Update-Database из консоли в проекте EntityFramework
  4. ЗапуститеПриложение

Это работает, но с ошибками, которые я описал выше.

Я использовал step into function на VS, чтобы попытаться получить реальную ошибку, но она может перехватывать ее на внешнейDLL или что-то, Вот чистый log.txt, выполняющий только Load-Login-Change tenant (ошибка) - Login - Edit tenant (ошибка)

DEBUG 2019-09-24 13:12:59,986 [1    ] Abp.Modules.AbpModuleManager             - Found 17 ABP modules in total.
DEBUG 2019-09-24 13:12:59,995 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: myapplication.Web.myapplicationWebModule, myapplication.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:12:59,997 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: myapplication.myapplicationDataModule, myapplication.EntityFramework, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:12:59,997 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.Zero.EntityFramework.AbpZeroEntityFrameworkModule, Abp.Zero.EntityFramework, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:12:59,998 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.Zero.AbpZeroCoreModule, Abp.Zero, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:12:59,999 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.Zero.AbpZeroCommonModule, Abp.Zero.Common, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:12:59,999 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.AbpKernelModule, Abp, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,006 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.EntityFramework.AbpEntityFrameworkModule, Abp.EntityFramework, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,006 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.EntityFramework.AbpEntityFrameworkCommonModule, Abp.EntityFramework.Common, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,007 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: myapplication.myapplicationCoreModule, myapplication.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,007 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: myapplication.myapplicationApplicationModule, myapplication.Application, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,012 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.AutoMapper.AbpAutoMapperModule, Abp.AutoMapper, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,012 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: myapplication.Api.myapplicationWebApiModule, myapplication.WebApi, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,013 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.WebApi.AbpWebApiModule, Abp.Web.Api, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,013 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.Web.AbpWebModule, Abp.Web, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,013 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.Web.AbpWebCommonModule, Abp.Web.Common, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,014 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.Web.SignalR.AbpWebSignalRModule, Abp.Web.SignalR, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,014 [1    ] Abp.Modules.AbpModuleManager             - Loaded module: Abp.Web.Mvc.AbpWebMvcModule, Abp.Web.Mvc, Version=4.9.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:00,018 [1    ] Abp.Modules.AbpModuleManager             - 17 modules loaded.
DEBUG 2019-09-24 13:13:03,252 [1    ] o.Configuration.LanguageManagementConfig - Converted Abp (Abp.Localization.Dictionaries.DictionaryBasedLocalizationSource) to MultiTenantLocalizationSource
DEBUG 2019-09-24 13:13:03,252 [1    ] o.Configuration.LanguageManagementConfig - Converted AbpZero (Abp.Localization.Dictionaries.DictionaryBasedLocalizationSource) to MultiTenantLocalizationSource
DEBUG 2019-09-24 13:13:03,252 [1    ] o.Configuration.LanguageManagementConfig - Converted myapplication (Abp.Localization.Dictionaries.DictionaryBasedLocalizationSource) to MultiTenantLocalizationSource
DEBUG 2019-09-24 13:13:03,252 [1    ] o.Configuration.LanguageManagementConfig - Converted AbpWeb (Abp.Localization.Dictionaries.DictionaryBasedLocalizationSource) to MultiTenantLocalizationSource
DEBUG 2019-09-24 13:13:03,865 [1    ] EntityFramework.AbpEntityFrameworkModule - Registering DbContext: myapplication.EntityFramework.myapplicationDbContext, myapplication.EntityFramework, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
DEBUG 2019-09-24 13:13:06,085 [1    ] Abp.Localization.LocalizationManager     - Initializing 4 localization sources.
DEBUG 2019-09-24 13:13:06,161 [1    ] Abp.Localization.LocalizationManager     - Initialized localization source: Abp
DEBUG 2019-09-24 13:13:06,219 [1    ] Abp.Localization.LocalizationManager     - Initialized localization source: AbpZero
DEBUG 2019-09-24 13:13:06,247 [1    ] Abp.Localization.LocalizationManager     - Initialized localization source: myapplication
DEBUG 2019-09-24 13:13:06,280 [1    ] Abp.Localization.LocalizationManager     - Initialized localization source: AbpWeb
DEBUG 2019-09-24 13:13:06,391 [1    ] Abp.BackgroundJobs.BackgroundJobManager  - Start background worker: Castle.Proxies.BackgroundJobManagerProxy
DEBUG 2019-09-24 13:13:06,468 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - Found 11 classes define auto mapping attributes
DEBUG 2019-09-24 13:13:06,469 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Sessions.Dto.TenantLoginInfoDto
DEBUG 2019-09-24 13:13:06,477 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Sessions.Dto.UserLoginInfoDto
DEBUG 2019-09-24 13:13:06,478 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Users.Dto.CreateUserDto
DEBUG 2019-09-24 13:13:06,479 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Users.Dto.UpdateUserDto
DEBUG 2019-09-24 13:13:06,479 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Users.Dto.UserDto
DEBUG 2019-09-24 13:13:06,479 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Roles.Dto.PermissionDto
DEBUG 2019-09-24 13:13:06,479 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.MultiTenancy.Dto.CreateTenantDto
DEBUG 2019-09-24 13:13:06,480 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.MultiTenancy.Dto.EditTenantDto
DEBUG 2019-09-24 13:13:06,480 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.MultiTenancy.Dto.TenantDto
DEBUG 2019-09-24 13:13:06,480 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Web.Models.Account.TenantChangeViewModel
DEBUG 2019-09-24 13:13:06,480 [1    ] Abp.AutoMapper.AbpAutoMapperModule       - myapplication.Web.Models.Account.TenantSelectionViewModel+TenantInfo
DEBUG 2019-09-24 13:13:08,736 [1    ] Abp.Logging.LogHelper                    - Dynamic web api controller is created for type 'myapplication.Sessions.ISessionAppService' with service name 'app/session'.
DEBUG 2019-09-24 13:13:08,737 [1    ] Abp.Logging.LogHelper                    - Dynamic web api controller is created for type 'myapplication.Users.IUserAppService' with service name 'app/user'.
DEBUG 2019-09-24 13:13:08,738 [1    ] Abp.Logging.LogHelper                    - Dynamic web api controller is created for type 'myapplication.Roles.IRoleAppService' with service name 'app/role'.
DEBUG 2019-09-24 13:13:08,739 [1    ] Abp.Logging.LogHelper                    - Dynamic web api controller is created for type 'myapplication.MultiTenancy.ITenantAppService' with service name 'app/tenant'.
DEBUG 2019-09-24 13:13:08,740 [1    ] Abp.Logging.LogHelper                    - Dynamic web api controller is created for type 'myapplication.Configuration.IConfigurationAppService' with service name 'app/configuration'.
DEBUG 2019-09-24 13:13:08,741 [1    ] Abp.Logging.LogHelper                    - Dynamic web api controller is created for type 'myapplication.Authorization.Accounts.IAccountAppService' with service name 'app/account'.
WARN  2019-09-24 13:13:26,032 [6    ] Abp.Logging.LogHelper                    - Abp.Authorization.AbpAuthorizationException: Current user did not login to the application!
   at Abp.Authorization.AuthorizationHelper.<AuthorizeAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Abp.Authorization.AuthorizationHelper.<CheckPermissions>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Abp.Authorization.AuthorizationHelper.<AuthorizeAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
   at Nito.AsyncEx.AsyncContext.<>c__DisplayClass15_0.<Run>b__0(Task t)
   at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
   at Nito.AsyncEx.AsyncContext.Run(Func`1 action)
   at Abp.Authorization.AuthorizationHelperExtensions.Authorize(IAuthorizationHelper authorizationHelper, MethodInfo methodInfo, Type type)
   at Abp.Web.Mvc.Authorization.AbpMvcAuthorizeFilter.OnAuthorization(AuthorizationContext filterContext)
Abp.Authorization.AbpAuthorizationException: Current user did not login to the application!
   at Abp.Authorization.AuthorizationHelper.<AuthorizeAsync>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Abp.Authorization.AuthorizationHelper.<CheckPermissions>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Abp.Authorization.AuthorizationHelper.<AuthorizeAsync>d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
   at Nito.AsyncEx.AsyncContext.<>c__DisplayClass15_0.<Run>b__0(Task t)
   at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Nito.AsyncEx.Synchronous.TaskExtensions.WaitAndUnwrapException(Task task)
   at Nito.AsyncEx.AsyncContext.Run(Func`1 action)
   at Abp.Authorization.AuthorizationHelperExtensions.Authorize(IAuthorizationHelper authorizationHelper, MethodInfo methodInfo, Type type)
   at Abp.Web.Mvc.Authorization.AbpMvcAuthorizeFilter.OnAuthorization(AuthorizationContext filterContext)
DEBUG 2019-09-24 13:15:15,987 [12   ] Abp.Web.SignalR.Hubs.AbpCommonHub        - A client is connected: {"ConnectionId":"93594c5a-5aa2-40be-af8e-c3487535bd12","IpAddress":"192.168.42.1","TenantId":null,"UserId":1,"ConnectTime":"2019-09-24T13:15:15.9774976-06:00","Properties":{}}
DEBUG 2019-09-24 13:15:16,020 [6    ] Abp.Web.SignalR.Hubs.AbpCommonHub        - A client is registered: 93594c5a-5aa2-40be-af8e-c3487535bd12
DEBUG 2019-09-24 13:15:28,150 [10   ] Abp.Web.SignalR.Hubs.AbpCommonHub        - A client is disconnected: 93594c5a-5aa2-40be-af8e-c3487535bd12
DEBUG 2019-09-24 13:15:30,882 [12   ] Abp.Web.SignalR.Hubs.AbpCommonHub        - A client is connected: {"ConnectionId":"e9afe71e-bc64-4c18-a66c-a7381fae6701","IpAddress":"192.168.42.1","TenantId":null,"UserId":1,"ConnectTime":"2019-09-24T13:15:30.8823332-06:00","Properties":{}}
DEBUG 2019-09-24 13:15:30,889 [6    ] Abp.Web.SignalR.Hubs.AbpCommonHub        - A client is registered: e9afe71e-bc64-4c18-a66c-a7381fae6701
WARN  2019-09-24 13:15:35,697 [9    ] naries.DictionaryBasedLocalizationSource - Can not find 'EditTenant' in localization source 'myapplication'!

Мне было интересно, не работает ли бесплатная версия с нуля,Я искал подобные ошибки, но все, кажется, заставляют их работать, и у них возникают проблемы после того, как они начинают изменять код.

Причина, по которой я не получил ошибку при отладке, заключается в том, что происходит вВызов javascript-ajax, jquery.js на fuction:

jQuery.parseJSON = function( data ) {
    return JSON.parse( data + "" );
};

Параметр данных получает:

<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
    <h4 class="modal-title">
        <span>Change tenant</span>
    </h4>
</div>

<div class="modal-body">
    <form name="TenantChangeForm" role="form" novalidate class="form-validation">
        <div class="form-group form-float">
            <div class="form-line">
                <input class="form-control" type="text" name="TenancyName" maxlength="64">
                <label class="form-label">Tenancy name</label>
            </div>
        </div>
        <span class="help-block">Leave empty to switch to the host</span>
    </form>
</div>

<div class="modal-footer">
    <button type="button" class="btn btn-default close-button waves-effect" data-dismiss="modal">Cancel</button>
    <button type="button" class="btn btn-primary save-button waves-effect">Save</button>
</div>

<script src="/Views/Account/_TenantChangeModal.js" type="text/javascript"></script> 

Witch выдаст ошибку: SyntaxError: Неожиданный токен <в JSONв позиции 0. </strong>

И возвращается к abp.jquery.js:

 }).fail(function (jqXHR) {
              if (jqXHR.responseJSON && jqXHR.responseJSON.__abp) {
                abp.ajax.handleResponse(jqXHR.responseJSON, userOptions, $dfd, jqXHR);
              } else {
                abp.ajax.handleNonAbpErrorResponse(jqXHR, userOptions, $dfd);
              }

Я смотрел, и все модалы не будут отображаться, и все представления содержат JS, чтобы показать какthis:

(function () {
    $('.tenant-change-component a')
        .click(function (e) {
            e.preventDefault();
            abp.ajax({
                url: abp.appPath + 'Account/TenantChangeModal',
                type: 'POST',
                contentType: 'application/html',
                success: function (content) {
                    $('#TenantChangeModal div.modal-content').html(content);
                },
                error: function (e) { }
            });
        });
})();

Проблема связана с модальной, но только при изменении арендатора и редактировании арендатора, если я пытаюсь создать арендатора или пользователя, это работает.

После перехода в JSON.Parseи получая весь вид в качестве параметра, он получает парсерИ вот что: jqXHR.status получает статус 200.

Добавлен элемент Watch для переменной данных, и с модалами, которые работают, никогда не будет получено полное представление, поскольку параметр сохраняет нулевое значение.Попытался изменить функцию так, чтобы она всегда возвращала ноль, но экран только темнеет.

Также пытался обновить jquery.js до 2.2.4 (ниже 3), потому что шаблон использует 2.2.0.и все та же проблема.

1 Ответ

0 голосов
/ 29 сентября 2019

Добавлено от имени OP

Я разместил вопрос на GitHub: https://github.com/aspnetboilerplate/aspnetboilerplate/issues/4889

И это решается путем внесения некоторых изменений вIndex.js представлений, которые запускают модальные:

Replace: $.ajax({

With: abp.ajax({

и

Replace: contentType: 'application/html',

With: dataType: 'html',

Фиксация: https://github.com/aspnetboilerplate/module-zero-template/pull/169/commits/9105e33b327b6885a0e1aafbd20d7ff092860646

...