Я делаю приложение на ASP .NET Boilerplate Framework с AngularJS и Entity Framework.
Я так долго работал с этим руководством (http://www.codeproject.com/Articles/791740/Using-AngularJs-ASP-NET-MVC-Web-API-and-EntityFram#ArticleBuildWebApiServices)
А когда дело дошло до регистрации контроллера, через WebApiModule он не показывает никаких признаков запуска (поставил точку останова на конструкторе контроллера, а он не отвечает). Моя цель - получить все продукты с угловым контроллером.
Это мой код WebApiModule:
{
[DependsOn(typeof(AbpWebApiModule))]
public class ShopWebApiModule : AbpModule
{
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
DynamicApiControllerBuilder
.ForAll<IApplicationService>(Assembly.GetAssembly(typeof(ShopApplicationModule)), "shopsystem")
.Build();
}
}
}
Это мой IProductAppServiceCode:
{
public interface IProductAppService:IApplicationService
{
GetProductsOutput GetProducts(GetProductsInput input);
//void UpdateProduct(UpdateProductInput input);
//void CreateProduct(CreateProductInput input);
}
}
Это мой ProductAppServiceCode:
{
public class ProductAppService : ApplicationService, IProductAppService
{
private readonly IProductRepository _productRepository;
public ProductAppService(IProductRepository productRepository)
{
_productRepository = productRepository;
}
public GetProductsOutput GetProducts(GetProductsInput input)
{
var products = _productRepository.GetKind(input.BookKind);
return new GetProductsOutput
{
Products = Mapper.Map<List<ProductDto>>(products)
};
}
}
}
и это мой код контроллера Angular:
(function () {
var app = angular.module('app');
var controllerId = 'shop.views.product.list';
app.controller(controllerId, [
'$scope', 'abp.services.shopsystem.product',
function ($scope, productService) {
var vm = this;
vm.products = [];
$scope.productType = 0;
vm.refreshProducts();
$scope.$watch('selectedProductType', function (value) {
vm.refreshTasks();
});
vm.refreshProducts = function () {
abp.ui.setBusy( //Set whole page busy until getTasks complete
null,
productService.getProducts({ //Call application service method directly from javascript
}).success(function (data) {
vm.tasks = data.tasks;
})
);
};
}
]);
})();
Я только начинаю в этом Framework, я буду рад, если вы можете мне помочь.
Если я должен принести вам больше информации, просто скажите это, пожалуйста.