2016-05-03 6 views
0

So bekam ich eine MVC-Anwendung, die ihre Daten von einem WCF bekommt. Das Problem, das ich in meinem Controller ATM bekommen habe, ist, dass es keinen ServiceClient mit einem Model verbindet.MVC Controller, Verbindung zu WCF

Hier ist mein Code:

public DBService.DataServiceClient DB = new DBService.DataServiceClient(); 
    public WedstrijdService.IWedstrijdService WedService = new WedstrijdService.IWedstrijdService(); 
    public ActionResult WedstrijdViewMain(int OrgID, int TeamID) 
    { 
     Models.Wedstrijden.WedstrijdModel WM = new Models.Wedstrijden.WedstrijdModel(); 
     DBService.DataServiceClient DB = new DBService.DataServiceClient(); 

     var wedstrijden = WedService.GetWedstrijd(TeamID, OrgID); 


     return View(WedService); 
    } 

Ich weiß, dass der IWedstrijdService WedstrijdServiceClient sein muss, sondern dass man nicht erkannt hat bekommen. Auch es zeigt sich als Schnittstelle, während es eine Klasse sein muss. Kann mir jemand helfen, wo ich Sachen im WCF/MVC Code bearbeiten kann.

+1

Können Sie erklären, warum Sie 'haben DBService.DataServiceClient DB = new DBService.DataServiceClient()' außerhalb des Verfahrens und auch nach innen? Was meinst du, wenn du sagst, dass es nicht erkannt wird, kannst du uns den Fehler sagen? Fügen Sie vielleicht die ganze Klassendatei ein, damit wir besser verstehen, was Sie tun. – timothyclifford

+0

Sie sollten den '... Client' instanziieren und nicht den Dienst selbst. 'var service = new DBService.DataServiceClient();' Verwenden Sie dann einfach den Client zum Aufrufen der Aktionen. 'service..GetWedstrijd (TeamID, OrgID);' –

Antwort

0

Erstellen Sie einfach ein Objekt Ihres Dienstes.

Beispiel:

public ActionResult WedstrijdViewMain(int OrgID, int TeamID) 
    { 
     DBService.DataServiceClient DBObject = new DBService.DataServiceClient();//Create Object of your service 
      var wedstrijden = DBObject.GetWedstrijd(TeamID, OrgID); 
     return View(WedService); 
    }