hi
This is a bug introduced in ABP v10.x — IFaqGroupPublicAppService was added to FaqViewComponent's constructor but the corresponding HTTP controller and client proxy were never added. A fix has been submitted to the ABP team.
Temporary workaround:
Step 1 — Add this controller to your HttpApi or API Host project:
[RequiresFeature(CmsKitProFeatures.FaqEnable)]
[RequiresGlobalFeature(typeof(FaqFeature))]
[RemoteService(Name = CmsKitProCommonRemoteServiceConsts.RemoteServiceName)]
[Area(CmsKitProCommonRemoteServiceConsts.ModuleName)]
[Route("api/cms-kit-public/faq-group")]
public class FaqGroupPublicController : CmsKitProCommonController, IFaqGroupPublicAppService
{
protected IFaqGroupPublicAppService FaqGroupPublicAppService { get; }
public FaqGroupPublicController(IFaqGroupPublicAppService faqGroupPublicAppService)
{
FaqGroupPublicAppService = faqGroupPublicAppService;
}
[HttpGet]
[Route("by-name")]
public Task<FaqGroupDto> GetGroupByNameAsync(string name)
=> FaqGroupPublicAppService.GetGroupByNameAsync(name);
}
Step 2 — If your application is tiered, also add this to your Web project:
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IFaqGroupPublicAppService), typeof(FaqGroupPublicClientProxy))]
public partial class FaqGroupPublicClientProxy : ClientProxyBase<IFaqGroupPublicAppService>, IFaqGroupPublicAppService
{
public virtual async Task<FaqGroupDto> GetGroupByNameAsync(string name)
{
return await RequestAsync<FaqGroupDto>(nameof(GetGroupByNameAsync), new ClientProxyRequestTypeValue
{
{ typeof(string), name }
});
}
}
If your application is not tiered (single host), Step 1 alone is sufficient.
You can remove these files once the official fix is released.
Thanks.
hi
What is your database type?
Mysql?
Thanks
hi
It works now. Can you try again?
Your ticket has been refuneded
Thanks.
hi
Thanks. Can you also share some code of the mapper and your custom app service?
hi
However, when using the same mappings inside a service that derives from the ABP identity service:
Can you share some demo code and exception logs?
Thanks.
using System;
using System.Collections.Generic;
using Volo.Abp.Domain.Entities;
namespace Volo.Abp.Identity.UserInvitations;
public class UserInvitation : AggregateRoot<Guid>
{
public Guid? InviterTenantId { get; protected set; }
public string InviteeEmail { get; protected set; }
public DateTimeOffset InvitationDate { get; protected set; }
public List<string> AssignedRoles { get; protected set; }
public UserInvitationStatus Status { get; protected set; }
protected UserInvitation()
{
}
public UserInvitation(
Guid id,
Guid? inviterTenantId,
string inviteeEmail,
List<string> assignedRoles,
DateTimeOffset invitationDate,
UserInvitationStatus status = UserInvitationStatus.Pending) : base(id)
{
InviterTenantId = inviterTenantId;
InviteeEmail = inviteeEmail;
AssignedRoles = assignedRoles;
InvitationDate = invitationDate;
Status = status;
}
public void SetAssignedRoles(List<string> assignedRoles)
{
AssignedRoles = assignedRoles ?? [];
}
public void SetStatus(UserInvitationStatus status)
{
Status = status;
}
}
hi
你可以添加下面的实体到dbcontext然后更新迁移文件
public DbSet<UserInvitation> UserInvitations { get; set; }
SqlException: 列名'Leaved'无效.
迁移不是最新的.