Die Screenshots werden wirklich eine Menge Dinge klären. Im Grunde habe ich diesen Service und benutze den WCF Test Client Ich kann einen String zurückbekommen. Die clientseitige Referenz, die ich mit Visual Studio erstellt habe, besagt jedoch, dass meine Methode als void zurückgibt.WCF .svc Datei hat Rückgabetypen, Clientcode sieht alle void
Das ServerConnection-Objekt in meiner Test() - Methode referenziert meine Service-Referenzvariable, die von Visual Studio erstellt wird.
Root.svc.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace chatService_SignalRService.Services
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Root" in code, svc and config file together.
// NOTE: In order to launch WCF Test Client for testing this service, please select Root.svc or Root.svc.cs at the Solution Explorer and start debugging.
public class Root : IRoot
{
public String DoWork()
{
return "Hello Bailey!";
}
}
}
IRoot.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace chatService_SignalRService.Services
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IRoot" in both code and config file together.
[ServiceContract]
public interface IRoot
{
[OperationContract]
String DoWork();
}
}
ich eine Portable Klassenbibliothek verwenden. Ich wähle diese Klassenbibliothek aus, füge Dienstreferenz hinzu, zeige die Adresse auf meinen Webserver und nenne sie ServerCT.
Dann in meinem Profile.cs, die unter der Portable Class Library ist, erstelle ich ein Objekt und eine Methode.
using Microsoft.AspNet.SignalR.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Classes
{
public class Profile : User
{
public static ServerCT.RootClient ServerConnection = new ServerCT.RootClient();
public void Test()
{
ServerConnection.DoWorkAsync();
}
}
}
Geben Sie Ihren vollständigen Code hier ein, anstatt Screenshots zu posten. Niemand möchte Ihren Code aus Ihrem Screenshot erneut eingeben, um Ihnen eine Antwort zu geben. –
Ich werde den Code veröffentlichen, es gibt vielleicht 5 Zeilen Code über ein paar verschiedene Dateien. –