我一直在使用HTTP请求从数据库中生成许多项目。这对1 C#class
有3个较大的查询 public IEnumerable<Menu> Menus { get; set; }
public Dictionary<int, Pagina> Paginas { get; set; }
public Dictionary<int, Opmaak> Opmaak { get; set; }
public string Errors { get; set; }
这就像魅力主要对象
http://imgur.com/daAQZkv - HTTP网络摘要
public Main Get()
{
return Main.getAll();
}
这不能返回anthing,Same Main Object
http://imgur.com/J0i2Y5B - HTTP网络摘要
public Main Get(string username, string password)
{
Login value = new Login(username: username, password: password);
return Main.getAll(value);
}
问题,如何通过HTTP请求正确发送变量
Webconfig C#
public static void Register(HttpConfiguration config)
{
EnableCrossSiteRequests(config);
AddRoutes(config);
}
private static void AddRoutes(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{username}/{password}",
defaults: new { username = RouteParameter.Optional, password = RouteParameter.Optional}
);
}
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var cors = new EnableCorsAttribute(
origins: "http://lvh.me:4200",
headers: "*",
methods: "*");
config.EnableCors(cors);
}
C#Main.cs
public static Main getAll()
{
using (CheckPlusEntities db = new CheckPlusEntities())
{
Main Totaal = new Main();
//Filling Totaal
return Totaal;
}
}
public static Main getAll(Login Login)
{
using (CheckPlusEntities db = new CheckPlusEntities())
{
Main Totaal = new Main();
//Filling Totaal
return Totaal;
}
}
Angular 2服务
错误=
get = {
event: (username:string, password:string): Promise<any> => {
let url = "http://{URL}:8080/CheckPlusApi/api/Main/Get/" + username + "/" + password;
return this._http.get(url)
.map(response => {
return response.json(); // Has a value
},
error => {
this.errorMessage = <any>error
}).toPromise();
}
}
好=
getTest = {
event: (): Promise<any> => {
return this._http.get('http://{URL}:8080/CheckPlusApi/api/Main/Get')
.map(response => {
return response.json();
},
error => {
this.errorMessage = <any>error
}).toPromise();
}
};
答案 0 :(得分:1)
我认为问题在于你的using
条款。
尝试通过更改:
删除它using (CheckPlusEntities db = new CheckPlusEntities())
到此:
CheckPlusEntities db = new CheckPlusEntities();