我已经创建了一些遵循命名约定并实现IApplicationService的简单应用程序服务接口。
public interface IProductAppService : IApplicationService
{
Task<ProductDto> Get(EntityDto<int> input);
Task<PagedResultDto<ProductDto>> GetAllProducts(GetAllProductsInput input);
Task<IList<ProductDto>> GetAllProducts();
Task CreateProduct(CreateUpdateProductInput input);
Task DeleteProduct(ProductDto input);
Task UpdateProduct(CreateUpdateProductInput input);
}
已实现的服务类可以在MVC控制器中运行。不幸的是,我无法使用自动生成的proxyscripts向abp.services.app。[serviceName]。[serviceMethod]发送POST请求,因为chrome显示“无法加载资源:服务器响应状态为404(未找到) “ 忘记所有。似乎脚本没有生成。
我检查了masterlayout中的脚本标签(自模板下载后没有更改),尝试重命名方法,通过[RemoteService(false)]逐个从代理生成中排除服务接口,读取App_data和AbpAuditLogs中的日志,但是没运气。
ASP.NET MVC 5.x APB 2.3.0 MPA incl。模块零。
提前致谢!
答案 0 :(得分:0)
据我所知,一切看起来都不错。 404表示无法成功运行GetAll方法。我从日志中看到的唯一一件事就是缺少翻译记录。让我们从简单的步骤开始;将所有缺失的翻译添加到您的语言的Sportsstore xml文件中并通知我们。
答案 1 :(得分:0)
根据我的经验,通常情况下,实现IApplicationService
的某些其他服务的方法所包含的参数不符合Web Api规则,即它具有多个复杂对象,请尝试查看其他服务实现IApplicationService
或其其他抽象之一(即实现AsyncCrudAppService
...)。