这篇文章将教你如何不使用Visual Studio,使用纯文本文件创建一个WCF服务。
一、编写代码:
首先,在你的C盘创建两个txt文件。一个文件名为:ServerProgram.txt,一个文件名为:ClientProgram.txt。
在ServerProgram.txt中输入下面代码,实现一个加法的WCF服务,代码很简单:
1
using
System;
2 using System.ServiceModel;
3
4 namespace SimpleWcfService
5 {
6 class ServerProgram
7 {
8 static void Main( string [] args)
9 {
10
11 BasicHttpBinding binding = new BasicHttpBinding();
12 Uri serviceUri = new Uri( " http://localhost:8001 " );
13 ServiceHost host = new ServiceHost( typeof (SimpleWcfService), serviceUri);
14 host.AddServiceEndpoint( typeof (ISimpleWcfService), binding, " OperationService " );
15 host.Open();
16 Console.WriteLine( " 服务启动 " );
17 Console.ReadLine();
18 host.Close();
19
20 }
21 }
22
23 [ServiceContract]
24 public interface ISimpleWcfService
25 {
26 [OperationContract]
27 int Add( int a, int b);
28 }
29
30 public class SimpleWcfService : ISimpleWcfService
31 {
32 public int Add( int a, int b)
33 {
34 return a + b;
35 }
36 }
37 }
2 using System.ServiceModel;
3
4 namespace SimpleWcfService
5 {
6 class ServerProgram
7 {
8 static void Main( string [] args)
9 {
10
11 BasicHttpBinding binding = new BasicHttpBinding();
12 Uri serviceUri = new Uri( " http://localhost:8001 " );
13 ServiceHost host = new ServiceHost( typeof (SimpleWcfService), serviceUri);
14 host.AddServiceEndpoint( typeof (ISimpleWcfService), binding, " OperationService " );
15 host.Open();
16 Console.WriteLine( " 服务启动 " );
17 Console.ReadLine();
18 host.Close();
19
20 }
21 }
22
23 [ServiceContract]
24 public interface ISimpleWcfService
25 {
26 [OperationContract]
27 int Add( int a, int b);
28 }
29
30 public class SimpleWcfService : ISimpleWcfService
31 {
32 public int Add( int a, int b)
33 {
34 return a + b;
35 }
36 }
37 }
在ClientProgram.txt中输入下面代码来调用上面的WCF服务:
1
using
System;
2 using System.ServiceModel;
3 using System.Windows.Forms;
4
5 namespace SimpleWcfServiceClient
6 {
7 class ClientProgram
8 {
9 static void Main( string [] args)
10 {
11 string input;
12 int a, b;
13 Console.WriteLine( " 请输入两个整数,以逗号隔开! " );
14 input = Console.ReadLine();
15 a = int .Parse(input.Split( ' , ' )[ 0 ]);
16 b = int .Parse(input.Split( ' , ' )[ 1 ]);
17 BasicHttpBinding binding = new BasicHttpBinding();
18 ChannelFactory < ISimpleWcfService > factory = new ChannelFactory < ISimpleWcfService > (binding, new EndpointAddress( " http://localhost:8001/OperationService " ));
19 ISimpleWcfService proxy = factory.CreateChannel();
20 int result = proxy.Add(a,b);
21 Console.WriteLine( string .Format( " 经过WCF服务计算,{0}加{1}原来等于{2}. " ,a,b, result));
22 Console.ReadLine();
23
24
25 }
26
27 [ServiceContract]
28 public interface ISimpleWcfService
29 {
30 [OperationContract]
31 int Add( int a, int b);
32 }
33 }
34 }
2 using System.ServiceModel;
3 using System.Windows.Forms;
4
5 namespace SimpleWcfServiceClient
6 {
7 class ClientProgram
8 {
9 static void Main( string [] args)
10 {
11 string input;
12 int a, b;
13 Console.WriteLine( " 请输入两个整数,以逗号隔开! " );
14 input = Console.ReadLine();
15 a = int .Parse(input.Split( ' , ' )[ 0 ]);
16 b = int .Parse(input.Split( ' , ' )[ 1 ]);
17 BasicHttpBinding binding = new BasicHttpBinding();
18 ChannelFactory < ISimpleWcfService > factory = new ChannelFactory < ISimpleWcfService > (binding, new EndpointAddress( " http://localhost:8001/OperationService " ));
19 ISimpleWcfService proxy = factory.CreateChannel();
20 int result = proxy.Add(a,b);
21 Console.WriteLine( string .Format( " 经过WCF服务计算,{0}加{1}原来等于{2}. " ,a,b, result));
22 Console.ReadLine();
23
24
25 }
26
27 [ServiceContract]
28 public interface ISimpleWcfService
29 {
30 [OperationContract]
31 int Add( int a, int b);
32 }
33 }
34 }
二、编译代码:
打开Command prompt 。通过cmd命令,转到C盘下面。
1、输入下面命令编译服务端代码:
csc /r:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.ServiceModel.dll" ServerProgram.txt
2、输入下面命令编译客户端代码:
csc /r:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.ServiceModel.dll" ClientProgram.txt
3、/r:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.ServiceModel.dll"用于引入System.ServiceModel.dll
三、运行程序:
1、服务端截图
2、客户端截图:
总结:本文使用文本文件创建一个WCF服务。这个是我以前在服务器上测试WCF的方法,由于服务器上没安装VS,只有.net framwork。此法只适用于学习和研究,不建议在实际中使用。
本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2010/09/21/use-notebook-create-a-wcf-service.html,如需转载请自行联系原作者