0
我正在尝试使用ASP.NET创建Angular SPA应用程序。尝试访问ASP.NET中的控制器方法时获取System.TypeLoadException
当我运行服务器时,它会加载一切正常,我的JavaScript,CSS和第一个索引页。
当我尝试使用ApiController
时出现问题。
这里是我的控制器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using System.Net;
using System.Net.Http;
using System.Collections;
using System.Web.Http;
using Angular2.DAL;
using Angular2.Models;
namespace Angular2.Controllers {
public class HomeController : ApiController {
private ItemServiceContext db = new ItemServiceContext();
// GET: api/Home
public IEnumerable<Item> Get()
{
IEnumerable<Item> currentUserToDos = db.Items;
return currentUserToDos;
}
}
}
这里是我的角度服务:
angular.module('myApp')
.factory('itemSvc', ['$http', function ($http) {
return {
getItems : function(){
return $http.get('/api/Home');
},
getItem : function(id){
return $http.get('/api/Home/' + id);
},
postItem : function(item){
return $http.post('/api/Home/',item);
},
putItem : function(item){
return $http.put('/api/Home/', item);
},
deleteItem : function(id){
return $http({
method: 'DELETE',
url: '/api/Home/' + id
});
}
};
}]);
这里是我的WebApiConfig:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace Angular2 {
public class WebApiConfig {
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}}
现在,当我试图做一个
itemSvc.getItems().success(function (result) {
$scope.items = result;
console.log(result);
}).error(function (err) {
$scope.error = err;
})
在我的控制器,在索引页面加载,我得到这个错误:
究竟我做错了的是什么?我的web.config
文件可能有问题吗?我在Linux上使用monodevelop 5.7来完成这个项目。 如果需要,将提供更多信息。
对此的任何解决方法? – Kaspar
您可以尝试克隆Web API源代码并在Mono中进行编译,但我从未使用Mono,因此我不知道如何去做。我发现[这篇文章](http://blog.oxfordcc.co.uk/aspnet-web-api-on-linux-apache-with-mono/),这使它看起来...不平凡。 –
我想我会给它一个镜头......:D谢谢! – Kaspar