Base solution for your next web application

Activities of "demo.solaru"

Hello,

We have couple questions as we are planning to start another project by using aspnetzero and needing couple clarifications.

AspnetZero Version: 11.0 Product type Angular + Dot Net Core

Base Information:

  • One API End point that will support multiple fronted application via different domain/sub domain name i.e. api.sample.com using one db and all application will consume this api, sample.com - MAIN LANDING corporate.sample.com - Separate App for corporate accounts app1.sample.com - separate app with own business logic but using same apis end points as others app2.com - separate app with own business logic but using same apis end points as others

  • There will be standard features, but we are planning to have other dynamic features & permissions for forms access i.e. there are two forms 110011, 220022, when admin creates this forms it creates features & relevant permissions in db and that would be consumed in when individual is trying to access.

    App Features -- that are dynamically created in database App.DynamicFeature.110011 App.DynamicFeature.110011.CRUD App.DynamicFeature.220022 App.DynamicFeature.220022.CRUD

    App Permissions - that are dynamically created in db when that forms are created Pages.DynamicFeaturePermissions.110011 App.DynamicFeature.110011 Pages.DynamicFeaturePermissions.110011.View App.DynamicFeature.110011 Pages.DynamicFeaturePermissions.110011.Print App.DynamicFeature.110011 Pages.DynamicFeaturePermissions.110011.Create App.DynamicFeature.110011.CRUD Pages.DynamicFeaturePermissions.110011.Edit App.DynamicFeature.110011.CRUD Pages.DynamicFeaturePermissions.110011.Delete App.DynamicFeature.110011.CRUD

and same for other feature.

QUESTIONS:

  1. How can I register this features and permissions based on features in application, so that I can use this in application for feature checking, permission checking
  2. How can I extend the Authorization module or create separate authorization attribute, to authorize at API End point where api is getting the "110011", and "22022" in FormName parameter? obviously checking against tenant has that feature + user also has permission

Last question is kind of separate: as we are hosting the same fronted app but in different domain and wants to have the cookie being shared between all the apps (main domain, other domain, any subdomain), we are not using the {tenancyName}.domain.com feature in our product.

Question

Version: ASPNetZero V7.0, angular 8

I'm facing a performance issue with the application. The bundle size is huge. Vendor,js is 13MB So to reduce the size I enabled AOT in the application. I'm facing the following issue. Does anyone face this kind of issue earlier? I would like to know what's the root cause. The issue does not exist when trying to build normally.

Prerequisites

product version: v7.0.0 product type: Angular framework type: .net core

Hello,

I am trying to integrate 3rd party tool (LOU) in our product. I am facing following issue: Error: Access to XMLHttpRequest at 'https://api.louassist.com/v1/users/current/' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

I have updated appsettings.json file as follows:

Still, I am getting Access-Control-Allow-Origin error Any help would be apciated. Thank you

Question

Hi Team,

We planned to develop a high traffic application so we purchased ASPNetZero V11 (LTS) framework. Since we are going to develop a heavy traffic product I want to put the system/framework into Load Testing with api/TokenAuth/Authenticate API endpoint using JMeter. While putting load test we got lot of Response code: 500 Internal Server Error. I checked with AbpAuditLogs about internal exception it’s caused due to “Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool.” We need to know why we are having these issues on Load Test for only 500 User Threads on an interval of 10 sec.

Load Test Tread Group Number of Threads (users): 500 Ramp-up period (seconds): 10 Loop Count: 1

Summary Report

With this I’m attaching JMeter jmx file and AbpAuditLogs export file. We need a quick solution for this issue because we are planning to start with our actual development soon. Note: We are facing the same issue with the Old ASPNetZero V7.0 framework and with this V7.0 we build a project that actually running in production.

Please find the attached JMeter jmx and AbpAuditLogs files: JMeter AbpAuditLogs

Thank you.

I have sent several messages now and getting no response. We had a problem with buying your (discounted) product for our use as the payment gateway did not work ($999). I cant fathim why because we bought using the same Amex account in the past. Apprently this happened for others also. PLEASE GET IN TOUCH so that we can get the product and move on. If I had a phone number to call, I would call by now.
Thanks for your cooperation...

Demo Solaru +1216 978 2345 [email protected]

Prerequisites

Please answer the following questions before submitting an issue. YOU MAY DELETE THE PREREQUISITES SECTION.

  • What is your product version?
  • What is your product type (Angular or MVC)?
  • What is product framework type (.net framework or .net core)?

If issue related with ABP Framework

  • What is ABP Framework version?

If issue is about UI

  • Which theme are you using?
  • What are the theme settings?
  • What is your product version? -- ASP NET ZERO 7.0.0
  • What is your product type (Angular or MVC)? -- Angular
  • What is product framework type (.net framework or .net core)? -- .Net Core

We have application running on prodcution environment and it was almost one and half month since last release, and all of sudden all calls to API started throwing following:

System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.Collections.Generic.Dictionary2.Initialize(Int32 capacity) at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at Abp.Web.Configuration.AbpUserConfigurationBuilder.GetUserLocalizationConfig() at Abp.Web.Configuration.AbpUserConfigurationBuilder.GetAll() at Abp.AspNetCore.Mvc.Controllers.AbpUserConfigurationController.GetAll() at lambda_method(Closure , Object ) at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult() at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()

Not sure what happened: but after restarting application on azure everything is working fine. Is there any way to find out root cuase for this problem ?

.Net Core 2.2 ASPNetZero 7.0.0

In our application one user from one tenant account can request something other tenant account and second tenant can approve something: so when SaveChanges is called for record which was created by tenant 1 updated by tenant 2 system is not saving lastmodifieduserid: for this I have override the function of GetAuditUserId in DbContext file but still its not saving modified user's Id.

Is there anything that I am doing wrong here?

protected override long? GetAuditUserId()
{
    if (AbpSession.UserId.HasValue &&
        CurrentUnitOfWorkProvider != null &&
        CurrentUnitOfWorkProvider.Current != null)
    {
        return AbpSession.UserId;
    }

    return null;
}
  • What is your product version? AspNetZero 7.0.0
  • What is your product type (Angular or MVC)? Angular
  • What is product framework type (.net framework or .net core)? .Net Core 2.2

When tenant is registered its been assigned to specific edition and based on that admin role has all granted feature's permissions automatically granted. Issue: When tenant is registered and logged in and if GetRoleForEdit is called it only give specific granted permissions(please see response after_registration_response.json) but after clearing cache(as host admin) and then call same api it gives all proper and correct granted permissions(please see after_registration_clearing_all_cache_response.json).

I already tried clearing cache after registration but its still gives same response. Not sure, what is wrong, any help would be appreciated. Thanks!

after_registration_response.json

{
  "result": {
    "role": {
      "id": 1091,
      "displayName": "Admin",
      "isDefault": false
    },
    "permissions": [
      "..."
    ],
    "grantedPermissionNames": [
      "Pages",
      "Pages.Administration",
      "Pages.Administration.Roles",
      "Pages.Administration.Roles.Create",
      "Pages.Administration.Roles.Edit",
      "Pages.Administration.Roles.Delete",
      "Pages.Administration.Users",
      "Pages.Administration.Users.Create",
      "Pages.Administration.Users.Edit",
      "Pages.Administration.Users.Delete",
      "Pages.Administration.Users.ChangePermissions"
    ]
  },
  "targetUrl": null,
  "success": true,
  "error": null,
  "unAuthorizedRequest": false,
  "__abp": true
}

after_registration_clearing_all_cache_response.json

{
  "result": {
    "role": {
      "id": 1091,
      "displayName": "Admin",
      "isDefault": false
    },
    "permissions": [
		"..."
    ],
    "grantedPermissionNames": [
      "Pages",
      "Pages.Administration",
      "Pages.Administration.Roles",
      "Pages.Administration.Roles.Create",
      "Pages.Administration.Roles.Edit",
      "Pages.Administration.Roles.Delete",
      "Pages.Administration.Users",
      "Pages.Administration.Users.Create",
      "Pages.Administration.Users.Edit",
      "Pages.Administration.Users.Delete",
      "Pages.Administration.Users.ChangePermissions",
      "Pages.Administration.AccountSetup",
      "Pages.Administration.AccountSetup.GeneralSettings",
      "Pages.Administration.AccountSetup.GLFormats",
      "Pages.Administration.AccountSetup.GLFormats.Create",
      "Pages.Administration.AccountSetup.GLFormats.Edit",
      "Pages.Administration.AccountSetup.GLFormats.Delete",
      "Pages.Administration.AccountSetup.RequireDocuments",
      "Pages.Administration.AccountSetup.RequireDocuments.Create",
      "Pages.Administration.AccountSetup.RequireDocuments.Edit",
      "Pages.Administration.AccountSetup.RequireDocuments.Delete",
      "Pages.Administration.AccountSetup.ReviewApproverGroups",
      "Pages.Administration.AccountSetup.ReviewApproverGroups.Create",
      "Pages.Administration.AccountSetup.ReviewApproverGroups.Edit",
      "Pages.Administration.AccountSetup.ReviewApproverGroups.Delete",
      "Pages.Administration.Tenant.Settings",
      "Pages.Administration.Tenant.Settings.General",
      "Pages.Administration.Tenant.Settings.InvoiceBillingInfo",
      "Pages.Administration.Tenant.SubscriptionManagement",
      "Pages.Tenant.Dashboard",
      "Pages.Tenant.Control",
      "Pages.Tenant.Control.Fund",
      "Pages.Tenant.Control.Fund.Create",
      "Pages.Tenant.Control.Fund.Edit",
      "Pages.Tenant.Control.Fund.Delete",
      "Pages.Tenant.Control.Fund.View",
      "Pages.Tenant.Control.ServiceTracking",
      "Pages.Tenant.Control.ServiceTracking.Create",
      "Pages.Tenant.Control.ServiceTracking.Edit",
      "Pages.Tenant.Control.ServiceTracking.Delete",
      "Pages.Tenant.Control.ServiceTracking.View",
      "Pages.Tenant.Control.ProgramTracking",
      "Pages.Tenant.Control.ProgramTracking.Create",
      "Pages.Tenant.Control.ProgramTracking.Edit",
      "Pages.Tenant.Control.ProgramTracking.Delete",
      "Pages.Tenant.Control.ProgramTracking.View",
      "Pages.Tenant.Control.GoalTracking",
      "Pages.Tenant.Control.GoalTracking.Create",
      "Pages.Tenant.Control.GoalTracking.Edit",
      "Pages.Tenant.Control.GoalTracking.Delete",
      "Pages.Tenant.Control.GoalTracking.View",
      "Pages.Tenant.Contract",
      "Pages.Tenant.Contract.Contracts",
      "Pages.Tenant.Contract.Contracts.Create",
      "Pages.Tenant.Contract.Contracts.Edit",
      "Pages.Tenant.Contract.Contracts.Delete",
      "Pages.Tenant.Contract.ContractorList",
      "Pages.Tenant.Contract.ContractorList.Invite",
      "Pages.Tenant.Contract.ContractDocuments",
      "Pages.Tenant.Contract.ContractDocuments.Create",
      "Pages.Tenant.Contract.ContractDocuments.Edit",
      "Pages.Tenant.Contract.ContractDocuments.Delete",
      "Pages.Tenant.Contract.ContractDocuments.View",
      "Pages.Tenant.Approval",
      "Pages.Tenant.Approval.ReviewInvoice",
      "Pages.Tenant.Approval.ApproveInvoice",
      "Pages.Tenant.Approval.AuthorizeService",
      "Pages.Tenant.Approval.AuthorizeService.Create",
      "Pages.Tenant.Approval.AuthorizeService.Edit",
      "Pages.Tenant.Approval.AuthorizeService.Delete",
      "Pages.Tenant.Approval.AuthorizeService.View",
      "Pages.Tenant.Approval.AuthorizeService.Process",
      "Pages.Tenant.Invoicing",
      "Pages.Tenant.Invoicing.ReportExpensesCharges",
      "Pages.Tenant.Invoicing.ChargeHistory",
      "Pages.Tenant.Invoicing.InvoiceDocuments",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Create",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Edit",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Delete",
      "Pages.Tenant.Invoicing.InvoiceDocuments.View",
      "Pages.Tenant.Invoicing.InvoiceDocuments.Process",
      "Pages.Tenant.Invoicing.Invoice",
      "Pages.Tenant.Invoicing.Invoice.Create",
      "Pages.Tenant.Invoicing.Invoice.Edit",
      "Pages.Tenant.Invoicing.Invoice.Delete",
      "Pages.Tenant.Invoicing.Invoice.View",
      "Pages.Tenant.Invoicing.RequestAuthorization",
      "Pages.Tenant.Invoicing.RequestAuthorization.Create",
      "Pages.Tenant.Invoicing.RequestAuthorization.Edit",
      "Pages.Tenant.Invoicing.RequestAuthorization.Delete",
      "Pages.Tenant.Invoicing.RequestAuthorization.View",
      "Pages.Tenant.Reports",
      "Pages.Tenant.Reports.Contracts"
    ]
  },
  "targetUrl": null,
  "success": true,
  "error": null,
  "unAuthorizedRequest": false,
  "__abp": true
}

ASPNETZERO 7.0.0, Angular, .Net Code

Question(this is not a issue ticket): We are trying to implement IP validation on each request, and wanted to know how I can extend the Authorization so validate each request based on our business logic. I thought of implementaing when they login, but as we have SPA: once user login and change their IP address and now they can access application from IP restrictrictions.

Any help would be appriciated. Thanks!

Hello,

  • What is your product version? -- 7.0.0
  • What is your product type (Angular or MVC)? -- Angular
  • What is product framework type (.net framework or .net core)? -- .Net Core

In Aspnetzero application, how should I manage concurrency between request, when same request is posted multiple time .net core end up been creating same record twice.

How should I manage this at .Net Core to prevent multiuple same request.

Showing 1 to 10 of 16 entries