我们正在尝试使用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);
}
}
答案 0 :(得分: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;更受限制。
服务和方法名称位于<{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);
}
}
public interface IMyTaskAppService : IApplicationService
{
Task<List<string>> GetMyTasks(int input);
}
的完整源代码