tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
0
ZUGRIFFE
1873
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    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):
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    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:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    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:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    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:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    
    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
    Angehängte Dateien Angehängte Dateien
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

Ähnliche Themen

  1. Dienst Startet nicht Remoting mit HTTP Chanell
    Von lusiphur im Forum .NET Web und Kommunikation
    Antworten: 0
    Letzter Beitrag: 26.01.09, 08:10
  2. Einfaches Beispiel zu Remoting mit Springframework .Net
    Von Thomas Darimont im Forum .NET Café
    Antworten: 0
    Letzter Beitrag: 23.06.07, 13:57
  3. Einfaches Beispiel zu .Net Remoting
    Von Thomas Darimont im Forum .NET Web und Kommunikation
    Antworten: 0
    Letzter Beitrag: 01.03.07, 01:02
  4. Antworten: 0
    Letzter Beitrag: 30.12.01, 02:36
  5. http://sld.tld/beispiel,1,4,23,4kjk45909gdfk4
    Von Mr. FAULi im Forum Sonstige Sprachen
    Antworten: 0
    Letzter Beitrag: 30.12.01, 02:36