Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# I';我在abp.io框架上工作时收到Http错误404_C#_Swagger_Access Denied_Abp - Fatal编程技术网

C# I';我在abp.io框架上工作时收到Http错误404

C# I';我在abp.io框架上工作时收到Http错误404,c#,swagger,access-denied,abp,C#,Swagger,Access Denied,Abp,我不熟悉abp.io框架,这正是Angular+实体框架的核心 我希望能够创建或显示我创建的类的对象列表 例如,我在域层创建了一个名为Address的类 以下是应用层上的AppService: namespace ASKOM.RefPlusStudio.core.Services { [Authorize(corePermissions.Addresses.Default)] public class AddressAppService : coreAppService, IAddressApp

我不熟悉abp.io框架,这正是Angular+实体框架的核心

我希望能够创建或显示我创建的类的对象列表

例如,我在域层创建了一个名为Address的类

以下是应用层上的AppService:

namespace ASKOM.RefPlusStudio.core.Services
{
[Authorize(corePermissions.Addresses.Default)]
public class AddressAppService : coreAppService, IAddressAppService
{
    private readonly IAddressRepository _addressRepository;
    private readonly AddressManager _addressManager;

    public AddressAppService(IAddressRepository addressRepository, AddressManager addressManager)
    {
        _addressRepository = addressRepository;
        _addressManager = addressManager;
    }

    [Authorize(corePermissions.Addresses.Create)]
    public async Task<AddressDto> CreateAsync(CreateUpdateAddressDto input)
    {
        var address = await _addressManager.CreateAsync(
            input.StreetNumber,
            input.StreetName,
            input.PostalCode,
            input.City,
            input.Country
        );

        await _addressRepository.InsertAsync(address);

        return ObjectMapper.Map<Address, AddressDto>(address);
    }

    [Authorize(corePermissions.Addresses.Delete)]
    public async Task DeleteAsync(Guid id)
    {
        await _addressRepository.DeleteAsync(id);
    }

    public async Task<AddressDto> GetAsync(Guid id)
    {
        var address = await _addressRepository.GetAsync(id);
        return ObjectMapper.Map<Address, AddressDto>(address);
    }

    public async Task<PagedResultDto<AddressDto>> GetListAsync(GetAddressListDto input)
    {
        if (input.Sorting.IsNullOrWhiteSpace())
        {
            input.Sorting = nameof(Address.Country);
        }

        var addresses = await _addressRepository.GetListAsync(
            input.SkipCount,
            input.MaxResultCount,
            input.Sorting,
            input.Filter
        );

        var totalCount = await AsyncExecuter.CountAsync(
            _addressRepository.WhereIf(
                !input.Filter.IsNullOrWhiteSpace(),
                address => address.Country.Contains(input.Filter)
            )
        );

        return new PagedResultDto<AddressDto>(
            totalCount,
            ObjectMapper.Map<List<Address>, List<AddressDto>>(addresses)
        );
    }

    [Authorize(corePermissions.Addresses.Edit)]
    public async Task UpdateAsync(Guid id, CreateUpdateAddressDto input)
    {
        var address = await _addressRepository.GetAsync(id);
           
            address.StreetNumber = input.StreetNumber;
            address.StreetName = input.StreetName;
            address.PostalCode = input.PostalCode;
            address.City = input.City;
            address.Country = input.Country;

        await _addressRepository.UpdateAsync(address);
    }
 }
 } 
我想看看它是否能显示地址列表,所以我在DataSeeder上做了一个静态列表:

namespace ASKOM.RefPlusStudio.core
{
public class coreDataSeederContributor : IDataSeedContributor, ITransientDependency
{
    private readonly IRepository<Address, Guid> _addressRepository;
    private readonly IGuidGenerator _guidGenerator;

    public coreDataSeederContributor(IRepository<Address, Guid> addressRepository, IGuidGenerator guidGenerator)
    {
        _addressRepository = addressRepository;
        _guidGenerator = guidGenerator;
    }

    public async Task SeedAsync(DataSeedContext context)
    {
        if (await _addressRepository.GetCountAsync() > 0)
        {
            return;
        }
        var address = new Address(

                id: _guidGenerator.Create(),
                streetNumber: 07,
                streetName: "Med Salah Belhaj",
                postalCode: 2080,
                city: "Ariana",
                country: "Tunisie"
            );
            //autoSave: true
        
        await _addressRepository.InsertAsync(address);
    }
}
}
名称空间ASKOM.RefPlusStudio.core
{
公共类coreDataSeederContributor:IDataSeedContributor,ITransientDependency
{
私有只读存储

当我尝试打开请求URL时,它会显示以下内容:

我确信我可能忘记了什么,这就是为什么我在请求URL上被拒绝访问的原因,但我真的不知道这是什么,因为我对这方面还不熟悉

你能帮帮我吗?
谢谢

数据库出现问题。这就是为什么它没有读取我在DataSeedProvider中提供的数据。

让我们来看看。
namespace ASKOM.RefPlusStudio.core
{
public class coreDataSeederContributor : IDataSeedContributor, ITransientDependency
{
    private readonly IRepository<Address, Guid> _addressRepository;
    private readonly IGuidGenerator _guidGenerator;

    public coreDataSeederContributor(IRepository<Address, Guid> addressRepository, IGuidGenerator guidGenerator)
    {
        _addressRepository = addressRepository;
        _guidGenerator = guidGenerator;
    }

    public async Task SeedAsync(DataSeedContext context)
    {
        if (await _addressRepository.GetCountAsync() > 0)
        {
            return;
        }
        var address = new Address(

                id: _guidGenerator.Create(),
                streetNumber: 07,
                streetName: "Med Salah Belhaj",
                postalCode: 2080,
                city: "Ariana",
                country: "Tunisie"
            );
            //autoSave: true
        
        await _addressRepository.InsertAsync(address);
    }
}
}