Thomas Darimont
Erfahrenes Mitglied
Hallo,
hier mal ein kleines Beispiel wie man schnell und einfach einen Dienst über HTTP verfügbar macht.
Hierzu müssen wir in unsere Projekte eine Referenz auf:
"C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\System.ServiceModel.dll"
setzen.
Unser Service-Interface (Client Contract):
Unser Service:
Unser Server:
und hier unser Client:
Ausgabe (Server):
Ausgabe (Client):
Gruß Tom
hier mal ein kleines Beispiel wie man schnell und einfach einen Dienst über HTTP verfügbar macht.
Hierzu müssen wir in unsere Projekte eine Referenz auf:
"C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\System.ServiceModel.dll"
setzen.
Unser Service-Interface (Client Contract):
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace De.Tutorials.WCF.Training.Server.Services
{
[ServiceContract]
public interface IService
{
[OperationContract]
string Operation(string arg);
}
}
Unser Service:
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace De.Tutorials.WCF.Training.Server.Services.Internal
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class Service : IService
{
#region IService Member
public string Operation(string arg)
{
Console.WriteLine("Server: Operation: " + arg);
return arg +"#"+ arg;
}
#endregion
}
}
Unser Server:
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using De.Tutorials.WCF.Training.Server.Services.Internal;
using De.Tutorials.WCF.Training.Server.Services;
namespace De.Tutorials.WCF.Training.Server
{
public class Server
{
public static void Main(string[] args)
{
ServiceHost serviceHost = new ServiceHost(new Service());
serviceHost.AddServiceEndpoint(typeof(IService), new BasicHttpBinding(), "http://localhost:9999/services/Service");
serviceHost.Open();
Console.WriteLine("Server running...");
Console.WriteLine("Press any key to exit");
Console.ReadKey();
serviceHost.Close();
}
}
}
und hier unser Client:
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using De.Tutorials.WCF.Training.Server.Services;
using System.ServiceModel;
using System.Threading;
namespace De.Tutorials.WCF.Training.Client
{
public class Client
{
public static void Main(string[] args)
{
ChannelFactory<IService> channelFactory = new ChannelFactory<IService>(new BasicHttpBinding(),"http://localhost:9999/services/Service");
IService service = channelFactory.CreateChannel();
Console.WriteLine("Client ready...");
for (int i = 0; i < 100; i++)
{
Console.WriteLine("Client: got response " + service.Operation("Hello " +i ));
Thread.Sleep(1000);
}
}
}
}
Ausgabe (Server):
Code:
Server running...
Press any key to exit
Server: Operation: Hello 0
Server: Operation: Hello 1
Server: Operation: Hello 2
Server: Operation: Hello 3
Server: Operation: Hello 4
Server: Operation: Hello 5
Server: Operation: Hello 6
Server: Operation: Hello 7
Server: Operation: Hello 8
Server: Operation: Hello 9
Server: Operation: Hello 10
Server: Operation: Hello 11
Server: Operation: Hello 12
Server: Operation: Hello 13
Server: Operation: Hello 14
Server: Operation: Hello 15
Server: Operation: Hello 16
Server: Operation: Hello 17
Server: Operation: Hello 18
Server: Operation: Hello 19
Server: Operation: Hello 20
Server: Operation: Hello 21
Server: Operation: Hello 22
Server: Operation: Hello 23
Server: Operation: Hello 24
Server: Operation: Hello 25
Server: Operation: Hello 26
Server: Operation: Hello 27
Server: Operation: Hello 28
Server: Operation: Hello 29
Server: Operation: Hello 30
Server: Operation: Hello 31
Server: Operation: Hello 32
Server: Operation: Hello 33
Server: Operation: Hello 34
Server: Operation: Hello 35
Server: Operation: Hello 36
Server: Operation: Hello 37
Server: Operation: Hello 38
Server: Operation: Hello 39
Server: Operation: Hello 40
Server: Operation: Hello 41
Server: Operation: Hello 42
Server: Operation: Hello 43
Server: Operation: Hello 44
Server: Operation: Hello 45
Server: Operation: Hello 46
Server: Operation: Hello 47
Server: Operation: Hello 48
Server: Operation: Hello 49
Server: Operation: Hello 50
Server: Operation: Hello 51
Server: Operation: Hello 52
Server: Operation: Hello 53
Server: Operation: Hello 54
Server: Operation: Hello 55
Server: Operation: Hello 56
Server: Operation: Hello 57
Server: Operation: Hello 58
Server: Operation: Hello 59
Server: Operation: Hello 60
Server: Operation: Hello 61
Server: Operation: Hello 62
Server: Operation: Hello 63
Server: Operation: Hello 64
Server: Operation: Hello 65
Server: Operation: Hello 66
Server: Operation: Hello 67
Server: Operation: Hello 68
Server: Operation: Hello 69
Server: Operation: Hello 70
Server: Operation: Hello 71
Server: Operation: Hello 72
Server: Operation: Hello 73
Server: Operation: Hello 74
Server: Operation: Hello 75
Server: Operation: Hello 76
Server: Operation: Hello 77
Server: Operation: Hello 78
Server: Operation: Hello 79
Server: Operation: Hello 80
Server: Operation: Hello 81
Server: Operation: Hello 82
Server: Operation: Hello 83
Server: Operation: Hello 84
Server: Operation: Hello 85
Server: Operation: Hello 86
Server: Operation: Hello 87
Server: Operation: Hello 88
Server: Operation: Hello 89
Server: Operation: Hello 90
Server: Operation: Hello 91
Server: Operation: Hello 92
Server: Operation: Hello 93
Server: Operation: Hello 94
Server: Operation: Hello 95
Server: Operation: Hello 96
Server: Operation: Hello 97
Server: Operation: Hello 98
Server: Operation: Hello 99
Ausgabe (Client):
Code:
Client ready...
Client: got response Hello 0#Hello 0
Client: got response Hello 1#Hello 1
Client: got response Hello 2#Hello 2
Client: got response Hello 3#Hello 3
Client: got response Hello 4#Hello 4
Client: got response Hello 5#Hello 5
Client: got response Hello 6#Hello 6
Client: got response Hello 7#Hello 7
Client: got response Hello 8#Hello 8
Client: got response Hello 9#Hello 9
Client: got response Hello 10#Hello 10
Client: got response Hello 11#Hello 11
Client: got response Hello 12#Hello 12
Client: got response Hello 13#Hello 13
Client: got response Hello 14#Hello 14
Client: got response Hello 15#Hello 15
Client: got response Hello 16#Hello 16
Client: got response Hello 17#Hello 17
Client: got response Hello 18#Hello 18
Client: got response Hello 19#Hello 19
Client: got response Hello 20#Hello 20
Client: got response Hello 21#Hello 21
Client: got response Hello 22#Hello 22
Client: got response Hello 23#Hello 23
Client: got response Hello 24#Hello 24
Client: got response Hello 25#Hello 25
Client: got response Hello 26#Hello 26
Client: got response Hello 27#Hello 27
Client: got response Hello 28#Hello 28
Client: got response Hello 29#Hello 29
Client: got response Hello 30#Hello 30
Client: got response Hello 31#Hello 31
Client: got response Hello 32#Hello 32
Client: got response Hello 33#Hello 33
Client: got response Hello 34#Hello 34
Client: got response Hello 35#Hello 35
Client: got response Hello 36#Hello 36
Client: got response Hello 37#Hello 37
Client: got response Hello 38#Hello 38
Client: got response Hello 39#Hello 39
Client: got response Hello 40#Hello 40
Client: got response Hello 41#Hello 41
Client: got response Hello 42#Hello 42
Client: got response Hello 43#Hello 43
Client: got response Hello 44#Hello 44
Client: got response Hello 45#Hello 45
Client: got response Hello 46#Hello 46
Client: got response Hello 47#Hello 47
Client: got response Hello 48#Hello 48
Client: got response Hello 49#Hello 49
Client: got response Hello 50#Hello 50
Client: got response Hello 51#Hello 51
Client: got response Hello 52#Hello 52
Client: got response Hello 53#Hello 53
Client: got response Hello 54#Hello 54
Client: got response Hello 55#Hello 55
Client: got response Hello 56#Hello 56
Client: got response Hello 57#Hello 57
Client: got response Hello 58#Hello 58
Client: got response Hello 59#Hello 59
Client: got response Hello 60#Hello 60
Client: got response Hello 61#Hello 61
Client: got response Hello 62#Hello 62
Client: got response Hello 63#Hello 63
Client: got response Hello 64#Hello 64
Client: got response Hello 65#Hello 65
Client: got response Hello 66#Hello 66
Client: got response Hello 67#Hello 67
Client: got response Hello 68#Hello 68
Client: got response Hello 69#Hello 69
Client: got response Hello 70#Hello 70
Client: got response Hello 71#Hello 71
Client: got response Hello 72#Hello 72
Client: got response Hello 73#Hello 73
Client: got response Hello 74#Hello 74
Client: got response Hello 75#Hello 75
Client: got response Hello 76#Hello 76
Client: got response Hello 77#Hello 77
Client: got response Hello 78#Hello 78
Client: got response Hello 79#Hello 79
Client: got response Hello 80#Hello 80
Client: got response Hello 81#Hello 81
Client: got response Hello 82#Hello 82
Client: got response Hello 83#Hello 83
Client: got response Hello 84#Hello 84
Client: got response Hello 85#Hello 85
Client: got response Hello 86#Hello 86
Client: got response Hello 87#Hello 87
Client: got response Hello 88#Hello 88
Client: got response Hello 89#Hello 89
Client: got response Hello 90#Hello 90
Client: got response Hello 91#Hello 91
Client: got response Hello 92#Hello 92
Client: got response Hello 93#Hello 93
Client: got response Hello 94#Hello 94
Client: got response Hello 95#Hello 95
Client: got response Hello 96#Hello 96
Client: got response Hello 97#Hello 97
Client: got response Hello 98#Hello 98
Client: got response Hello 99#Hello 99
Drücken Sie eine beliebige Taste . . .
Gruß Tom