Activities of "LiSong"

Answer

I don't see the code in the whole solution, I've actually searched for 'ConfigureCors' in the entire solution but found 0 matches, do I need to add the configurecors function myself? I want to clarify this to make sure I don't override anything underlying that might compromise security. thanks

Answer

sorry, I am using a layered application and non-Tiered, I was confused by layered and tiered. do you mind also checking the layered application for me. thanks

Answer

yes, it's a CORS error, I ran this command: curl -i -X OPTIONS https://localhost:44381/api/app/ethnicities -H 'Origin: http://localhost:5173' -H 'Access-Control-Request-Method: GET'

and got C:\Users\songh>curl -i -X OPTIONS https://localhost:44381/api/app/ethnicities -H "Origin: http://localhost:5173" -H "Access-Control-Request-Method: GET" HTTP/1.1 405 Method Not Allowed Transfer-Encoding: chunked Allow: GET, HEAD, POST Server: Microsoft-IIS/10.0 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN X-Correlation-Id: 3880f62679854d47a73e1b5cff09a43c X-SourceFiles: =?UTF-8?B?RDpcZ2l0XHRhcHAtOVxzcmNcVGFwcC5XZWJcYXBpXGFwcFxldGhuaWNpdGllcw==?= Date: Tue, 08 Apr 2025 23:14:45 GMT

Answer

I have just sent you an email. thx

How did it suddenly stop working? We had a functional 9.1.0 build that was working without errors.

This is a serious / important question. I had a fully deployed system that stopped working due to this issue.
The system has a requirement to have high availability.

My customer will not accept this type of architecture whereby the site availability is dependent on a third party.

@ABP - Do you agree? Do you think a chance is required here?

We understand that sometimes issues are inevitable. We would just like to know what we can do on our side to prevent future impacts. We're using Azure App Service; would backing up the previous environment and then swapping allow us to recover on our side even if the ABP NuGet server becomes unreachable? it's very important for us to keep our site available for our customers. thanks!

We understand that sometimes issues are inevitable. We would just like to know what we can do on our side to prevent future impacts. We're using Azure App Service; for example, would backing up the previous environment and then swapping allow us to recover on our side even if the ABP NuGet server becomes unreachable? it's very important for us to keep our site available for our customers. thanks!

hi, thanks, this is urgent because the site went down.

Answer

sorry do you mean this interface? I didn't create a new controller, I just created the CRUD pages using abp suite public partial interface ITappProjectsAppService { //Write your custom code here... }

public class TappProjectsAppService : TappProjectsAppServiceBase, ITappProjectsAppService
{
    //<suite-custom-code-autogenerated>
    public TappProjectsAppService(ITappProjectRepository tappProjectRepository, TappProjectManager tappProjectManager)
        : base(tappProjectRepository, tappProjectManager)
    {
    }
    //</suite-custom-code-autogenerated>

    //Write your custom code...
}

using System; using System.IO; using System.Linq; using System.Collections.Generic; using System.Threading.Tasks; using System.Linq.Dynamic.Core; using Microsoft.AspNetCore.Authorization; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; using Tapp.Permissions; using Tapp.DataHub.TappProjects;

namespace Tapp.DataHub.TappProjects {

[Authorize(TappPermissions.TappProjects.Default)]
public abstract class TappProjectsAppServiceBase : TappAppService
{

    protected ITappProjectRepository _tappProjectRepository;
    protected TappProjectManager _tappProjectManager;

    public TappProjectsAppServiceBase(ITappProjectRepository tappProjectRepository, TappProjectManager tappProjectManager)
    {

        _tappProjectRepository = tappProjectRepository;
        _tappProjectManager = tappProjectManager;

    }

    public virtual async Task<PagedResultDto<TappProjectDto>> GetListByTappProgramIdAsync(GetTappProjectListInput input)
    {
        var tappProjects = await _tappProjectRepository.GetListByTappProgramIdAsync(
            input.TappProgramId,
            input.Sorting,
            input.MaxResultCount,
            input.SkipCount);

        return new PagedResultDto<TappProjectDto>
        {
            TotalCount = await _tappProjectRepository.GetCountByTappProgramIdAsync(input.TappProgramId),
            Items = ObjectMapper.Map<List<TappProject>, List<TappProjectDto>>(tappProjects)
        };
    }

    public virtual async Task<PagedResultDto<TappProjectDto>> GetListAsync(GetTappProjectsInput input)
    {
        var totalCount = await _tappProjectRepository.GetCountAsync(input.FilterText, input.Name, input.Country, input.State, input.Region, input.Municipality, input.TimeZoneMin, input.TimeZoneMax, input.Description, input.Tags);
        var items = await _tappProjectRepository.GetListAsync(input.FilterText, input.Name, input.Country, input.State, input.Region, input.Municipality, input.TimeZoneMin, input.TimeZoneMax, input.Description, input.Tags, input.Sorting, input.MaxResultCount, input.SkipCount);

        return new PagedResultDto<TappProjectDto>
        {
            TotalCount = totalCount,
            Items = ObjectMapper.Map<List<TappProject>, List<TappProjectDto>>(items)
        };
    }

    public virtual async Task<TappProjectDto> GetAsync(Guid id)
    {
        return ObjectMapper.Map<TappProject, TappProjectDto>(await _tappProjectRepository.GetAsync(id));
    }

    [Authorize(TappPermissions.TappProjects.Delete)]
    public virtual async Task DeleteAsync(Guid id)
    {
        await _tappProjectRepository.DeleteAsync(id);
    }

    [Authorize(TappPermissions.TappProjects.Create)]
    public virtual async Task<TappProjectDto> CreateAsync(TappProjectCreateDto input)
    {

        var tappProject = await _tappProjectManager.CreateAsync(input.TappProgramId
        , input.TimeZone, input.Name, input.Country, input.State, input.Region, input.Municipality, input.Description, input.Tags
        );

        return ObjectMapper.Map<TappProject, TappProjectDto>(tappProject);
    }

    [Authorize(TappPermissions.TappProjects.Edit)]
    public virtual async Task<TappProjectDto> UpdateAsync(Guid id, TappProjectUpdateDto input)
    {

        var tappProject = await _tappProjectManager.UpdateAsync(
        id, input.TappProgramId
        , input.TimeZone, input.Name, input.Country, input.State, input.Region, input.Municipality, input.Description, input.Tags
        );

        return ObjectMapper.Map<TappProject, TappProjectDto>(tappProject);
    }
}

}

Answer

> Can you share your AppService or Controller endpoint code in C#?

yes, which one do you want me to share?

hi any suggestions?

Showing 31 to 40 of 83 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.8.0-preview. Updated on October 21, 2026, 11:09
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.