Hi,
I guess the problem has been fixed in the next version.
Could you update your project and CLI&Suite to 8.1.0 and try again?
Still same unable to see order details. dop i have to regenerate everything after update?
See https://autofac.rtfd.io/help/no-constructors-bindable for more info.
at Autofac.Core.Activators.Reflection.ReflectionActivator.<>c__DisplayClass14_0.<UseSingleConstructorActivation>b__0(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action
1 next)
at Autofac.Builder.RegistrationBuilder3.<>c__DisplayClass41_0.<PropertiesAutowired>b__0(ResolveRequestContext context, Action
1 next)
at Autofac.Builder.RegistrationBuilder3.<>c__DisplayClass39_0.<OnActivated>b__0(ResolveRequestContext context, Action
1 next)
at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action1 next) --- End of inner exception stack trace --- at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action
1 next)
at Autofac.Builder.RegistrationBuilder3.<>c__DisplayClass35_0.<OnPreparing>b__0(ResolveRequestContext context, Action
1 next)
at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action1 next) at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action
1 next)
at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest request)
at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest request)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Volo.Abp.IdentityServer.Tokens.TokenCleanupBackgroundWorker.DoWorkAsync(PeriodicBackgroundWorkerContext workerContext)
at Volo.Abp.BackgroundWorkers.AsyncPeriodicBackgroundWorkerBase.DoWorkAsync(CancellationToken cancellationToken)
2024-04-11 05:58:20.147 +04:00 [ERR] ---------- Exception Data ----------
ActivatorChain = Castle.Proxies.TokenCleanupServiceProxy
2024-04-11 05:58:20.329 +04:00 [WRN] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown.", "details": "UserFriendlyException: Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown.\r\nSTACK TRACE: at MyDhobi.Verify.VerifiationProcessService.PostUpdatePassword(UpdatePasswordDto input) in C:\Users\Suraj\OneDrive\Desktop\MyLaundry\Code\abp\Backoffice\ver 1.0\mydhobi\src\MyDhobi.Application\Verify\VerifiationService.cs:line 201\r\n at lambda_method5652(Closure, Object)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.
2024-04-11 05:58:20.340 +04:00 [WRN] Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown. Volo.Abp.UserFriendlyException: Exception of type 'Volo.Abp.Authorization.AbpAuthorizationException' was thrown. at MyDhobi.Verify.VerifiationProcessService.PostUpdatePassword(UpdatePasswordDto input) in C:\Users\Suraj\OneDrive\Desktop\MyLaundry\Code\abp\Backoffice\ver 1.0\mydhobi\src\MyDhobi.Application\Verify\VerifiationService.cs:line 201 at lambda_method5652(Closure, Object) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.
1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)
at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at MyDhobi.Verify.VerifiationProcessService.PostUpdatePassword(UpdatePasswordDto input) in C:\Users\Suraj\OneDrive\Desktop\MyLaundry\Code\abp\Backoffice\ver 1.0\mydhobi\src\MyDhobi.Application\Verify\VerifiationService.cs:line 185This exception was originally thrown at this call stack: Microsoft.AspNetCore.Authorization.AbpAuthorizationServiceExtensions.CheckAsync(Microsoft.AspNetCore.Authorization.IAuthorizationService, Microsoft.AspNetCore.Authorization.AuthorizationPolicy) Volo.Abp.Authorization.MethodInvocationAuthorizationService.CheckAsync(Volo.Abp.Authorization.MethodInvocationAuthorizationContext) Volo.Abp.Authorization.AuthorizationInterceptor.AuthorizeAsync(Volo.Abp.DynamicProxy.IAbpMethodInvocation) Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(Volo.Abp.DynamicProxy.IAbpMethodInvocation) Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter<TInterceptor>.InterceptAsync(Castle.DynamicProxy.IInvocation, Castle.DynamicProxy.IInvocationProceedInfo, System.Func<Castle.DynamicProxy.IInvocation, Castle.DynamicProxy.IInvocationProceedInfo, System.Threading.Tasks.Task>) Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(Castle.DynamicProxy.IInvocation, Castle.DynamicProxy.IInvocationProceedInfo) Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapter.ProceedAsync() Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(Volo.Abp.DynamicProxy.IAbpMethodInvocation) Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter<TInterceptor>.InterceptAsync(Castle.DynamicProxy.IInvocation, Castle.DynamicProxy.IInvocationProceedInfo, System.Func<Castle.DynamicProxy.IInvocation, Castle.DynamicProxy.IInvocationProceedInfo, System.Threading.Tasks.Task>) Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous(Castle.DynamicProxy.IInvocation, Castle.DynamicProxy.IInvocationProceedInfo) ... [Call Stack Truncated]
okay will try that , also i have query like to update password and phone confirmation property etc. i am using below snippet but its throwing exception
using private readonly IIdentityUserAppService _identityUserRepository;
await _identityUserRepository.UpdatePasswordAsync(userdetails.Id, identityUserUpdatePasswordInput);
ABP Framework version: v8.0.0
UI Type: MVC + Flutter
Database System: MongoDB
Tiered (for MVC) or Auth Server Separated (for Angular): no
Below is the entity with recursion
public abstract class ChatResourceDtoBase : FullAuditedEntityDto<Guid>, IHasConcurrencyStamp
{
public string? ChipTitle { get; set; }
public string? ChipTitleArabic { get; set; }
public string? Color { get; set; }
public string? BackColor { get; set; }
public string? Action { get; set; }
public string? ExtraField { get; set; }
public Guid? ChatResourceId { get; set; }
public string ConcurrencyStamp { get; set; } = null!;
}
And here is the API
[Authorize(MyDhobiPermissions.ChatResources.Default)]
public abstract class ChatResourcesAppServiceBase : ApplicationService
{
protected IDistributedCache<ChatResourceExcelDownloadTokenCacheItem, string> _excelDownloadTokenCache;
protected IChatResourceRepository _chatResourceRepository;
protected ChatResourceManager _chatResourceManager;
public ChatResourcesAppServiceBase(IChatResourceRepository chatResourceRepository, ChatResourceManager chatResourceManager, IDistributedCache<ChatResourceExcelDownloadTokenCacheItem, string> excelDownloadTokenCache)
{
_excelDownloadTokenCache = excelDownloadTokenCache;
_chatResourceRepository = chatResourceRepository;
_chatResourceManager = chatResourceManager;
}
public virtual async Task<PagedResultDto<ChatResourceWithNavigationPropertiesDto>> GetListAsync(GetChatResourcesInput input)
{
var totalCount = await _chatResourceRepository.GetCountAsync(input.FilterText, input.ChipTitle, input.ChipTitleArabic, input.Color, input.BackColor, input.Action, input.ExtraField, input.ChatResourceId);
var items = await _chatResourceRepository.GetListWithNavigationPropertiesAsync(input.FilterText, input.ChipTitle, input.ChipTitleArabic, input.Color, input.BackColor, input.Action, input.ExtraField, input.ChatResourceId, input.Sorting, input.MaxResultCount, input.SkipCount);
return new PagedResultDto<ChatResourceWithNavigationPropertiesDto>
{
TotalCount = totalCount,
Items = ObjectMapper.Map<List<ChatResourceWithNavigationProperties>, List<ChatResourceWithNavigationPropertiesDto>>(items)
};
}
public virtual async Task<ChatResourceWithNavigationPropertiesDto> GetWithNavigationPropertiesAsync(Guid id)
{
return ObjectMapper.Map<ChatResourceWithNavigationProperties, ChatResourceWithNavigationPropertiesDto>
(await _chatResourceRepository.GetWithNavigationPropertiesAsync(id));
}
Since GetListAsync is returning 0 items but on creation data is getting saved properly in database , please help me resolve this issue ,what could be the cause and how can i resolve it ?
no i resolved the error basically had to turn on websocket in IIS, but as this question is already raised i am having another issue , can i ask here or should i raise another question??
ABP Framework version: v8.0.0
UI Type: MVC + Flutter
Database System: MongoDB
Tiered (for MVC) or Auth Server Separated (for Angular): no
Exception message and full stack trace: below is the error and hub code with flutter controller code
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Error parsing handshake response: 'type 'Null' is not a subtype of type 'String' in type cast'
public class ChatMaiHub : AbpHub
{
private readonly IIdentityUserRepository _identityUserRepository;
private readonly ILookupNormalizer _lookupNormalizer;
public ChatMaiHub(IIdentityUserRepository identityUserRepository, ILookupNormalizer lookupNormalizer)
{
_identityUserRepository = identityUserRepository;
_lookupNormalizer = lookupNormalizer;
}
public async Task SendMessage(string targetUserName, string message)
{
var targetUser = await _identityUserRepository.FindByNormalizedUserNameAsync(_lookupNormalizer.NormalizeName(targetUserName));
message = $"{CurrentUser.UserName}: {message}";
await Clients
.User(targetUser.Id.ToString())
.SendAsync("ReceiveMessage", message);
}
}
below is flutter controller
import 'package:mailaundry/presentation/models/authview_model.dart';
import 'package:logging/logging.dart';
import 'package:signalr_netcore/signalr_client.dart';
import '../../mylaundryhub/mylaundryhub_gloabelclass/mylaundryhub_prefsname.dart';
class ChatController {
late HubConnection _hubConnection;
final Function(String message) onMessageReceived;
AuthViewModel authViewModel = AuthViewModel();
final transportProtLogger = Logger("SignalR - transport");
final hubProtLogger = Logger("SignalR - hub");
Future<String> getValidAccessToken() async {
// Ensure this method handles the potential null case appropriately.
return await authViewModel.getValidAccessToken() ?? '';
}
ChatController({required this.onMessageReceived}) {
var httpOptions = HttpConnectionOptions(
logger: transportProtLogger,
transport: HttpTransportType.ServerSentEvents,
accessTokenFactory: () async => await getValidAccessToken());
_hubConnection = HubConnectionBuilder()
.withUrl("$api/signalr-hubs/chat-mai", options: httpOptions)
.configureLogging(hubProtLogger)
.build();
_hubConnection.on('ReceiveMessage', (arguments) {
if (arguments != null && arguments.isNotEmpty) {
onMessageReceived(arguments[0] as String);
}
});
_hubConnection.start();
//.catchError((error) {
//print('Connection Failed. Error: $error');
//});
}
Future<void> sendMessage(String targetUserName, String message) async {
if (_hubConnection.state == HubConnectionState.Connected) {
await _hubConnection
.invoke('SendMessage', args: [targetUserName, message]);
} else {
print('Connection is not established. Message not sent.');
// Optionally, implement a retry mechanism or inform the user.
}
}
}
Okay thanks a lot for your prompt reply.