2016-12-22 3 views
1

私は、HTTPリクエストを使ってデータベースから多くのものを生成しました。これは、1 C#クラスに3つの大きなクエリC#バックエンドを使った角2 HTTPは変数を使って取得しません

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、同一のメインオブジェクトを返すことはできません。

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; 
    } 
} 

角度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(); 
      }  
    }; 
+1

はあなたの問題は、あなたが投稿した画像に返されるエラーですか?あなたの 'DbContext'は処分されましたが、とにかくそれを使用しようとしています... – silkfire

+0

@silkfire こんにちは、反応に感謝します。どちらの関数も、(CheckPlusEntities db = new CheckPlusEntities()) を使用して開きます。 { Main Totaal = new Main(); – Kapein

+0

クライアント側Javaスクリプトのコードスニペットについて言及できますか?実際のエラーは、データをどのように渡しているかなどです。 –

答えて

1

私はこの問題は、あなたのusing句であると思います。これに

using (CheckPlusEntities db = new CheckPlusEntities()) 

を::

を変更することで、それを削除してください

CheckPlusEntities db = new CheckPlusEntities(); 
関連する問題