ASP.NET Boilerplate:无法从index.js中获取服务

时间:2018-04-06 14:11:47

标签: javascript aspnetboilerplate

我们正在尝试使用 .NET Core多页面应用程序模板实现自定义服务。我们在尝试点击服务方法时收到 index.js 文件中的错误。

在此处查找用于理解的代码部分。对此有任何帮助对我们非常有帮助。

public interface IMyTaskAppService : IApplicationService
{
    Task<List<string>> GetMyTasks(int input);
}

public class MyTaskAppService : IMyTaskAppService
{
    private readonly IMyTaskRepository _mytaskRepository;

    public MyTaskAppService(IMyTaskRepository mytaskRepository)
    {
        _mytaskRepository = mytaskRepository;
    }

    Task<List<string>> IMyTaskAppService.GetMyTasks(int input)
    {
        return _mytaskRepository.GetMyTasks(input);
    }

}

Error Screenshot 1

Error Screenshot 2

Index.Js

Index.Js Error (Lowercase)

Console Output Screenshot

2 个答案:

答案 0 :(得分:1)

  1. MyTaskAppService至少需要一种public方法:

    public class MyTaskAppService : IMyTaskAppService
    {
        // ...
    
        // Task<List<string>> IMyTaskAppService.GetMyTasks(int input)
        public Task<List<string>> GetMyTasks(int input)
        {
            return null;
        }
    }
    

    你所拥有的是explicit implementation私人&#34;更受限制。

  2. 服务和方法名称位于<{3}}的 camelCase 中。

    T使用大写myTask

    var _myTaskService = abp.services.app.myTask;
    

    g使用小写getMyTasks

    _myTaskService.getMyTasks({
        taskID: taskID
    }).done(function (data) {
        alert(data);
    });
    

答案 1 :(得分:0)

添加ApplicationService作为MyTaskAppService课程的基础。 看我的代码;

public class MyTaskAppService : ApplicationService, IMyTaskAppService
{
    private readonly IMyTaskRepository _mytaskRepository;

    public MyTaskAppService(IMyTaskRepository mytaskRepository)
    {
        _mytaskRepository = mytaskRepository;
    }

    Task<List<string>> IMyTaskAppService.GetMyTasks(int input)
    {
        return _mytaskRepository.GetMyTasks(input);
    }    
}

TaskAppService

public interface IMyTaskAppService : IApplicationService
{
    Task<List<string>> GetMyTasks(int input);
}

查看SimpleTaskSystem

的完整源代码