WCF创建WebService正确操作步骤详解

开发 开发工具
我们在这里为大家介绍的WCF创建WebService的主要步骤包括有四个步骤,我们将会对这些具体的操作步骤进行详细的介绍。

其实,运用WCF对WEB进行相关的操作是一个比较简单的操作技术,我们可以通过这篇文章介绍的具体操作步骤来充分的掌握这一应用技巧。希望对此有需要的朋友们可以通过这里介绍的内容获得一些帮助。#t#

例子:

WCF创建WebService第一步: 添加WCF名称域:

using System.ServiceModel;

using System.ServiceModel.Description;

ServiceModel 是.NET当中用来实现WCF服务功能的名称域。

WCF创建WebService第二步: 定义服务。

 

  1. [ServiceContract()]  
  2. public interface IServiceInterface  
  3. {  
  4. [OperationContract]  
  5. string sayHello( string text );  
  6. }  
  7. public class Service1 : IServiceInterface  
  8. {  
  9. public string sayHello(string text)  
  10. {  
  11. return "hello" + text;  
  12. }  

 

一般来讲,将服务定义为接口,然后由它衍生出多中服务的类。这样做的一个好处是可以在接口级别定义属性,而在服务的类的级别看不到任何属性信息。只需要实现预先定义好的方法就可以。

WCF创建WebService第三步: 建立宿主,WCF的Service可以运行在程序,Windows 服务或者ASP.NET上面,我们使用Console来建立宿主:

 

  1. internal class MyServiceHost  
  2. {  
  3. internal static ServiceHost mySvcHost = null;  
  4. internal static void StartService()  
  5. {  
  6. ……  
  7. }  
  8. internal static void StopService()  
  9. {  
  10. ……  
  11. }  
  12. }  
  13. static void Main(string[] args)  
  14. {  
  15. MyServiceHost.StartService();  
  16. Console.ReadLine();  
  17. MyServiceHost.StopService();  
  18. Console.Read();  
  19. return;  

 

 

这里,我们定义了一个宿主 MyServiceHost,其中包含一个ServiceHost类的成员,ServiceHost类是ServiceModel当中用来创建通信对象的类。我们可以通过它来创建一个监听的对象,成为EndpointListener.

WCF创建WebService第四步:创建WCF运行时。

 

  1. internal static void StartService()  
  2. {  
  3. //首先,创建一个ServiceHost对象,传入的参数是Service对象的类型和服务的地址。  
  4. Uri address = new Uri("http://localhost:8080/service1");  
  5. mySvcHost = new ServiceHost( typeof(Service1),address );  
  6. //在创建的ServiceHost对象当中查找,看是否存在ServiceMetadataBehaviour的元数据行为  
  7. //描述,如果没有找到,创建一个新的ServiceMetadataBehaviour对象。  
  8. ServiceMetadataBehavior behaviour = mySvcHost.Description.
    Behaviors.Find
    <ServiceMetadataBehavior>();  
  9. if (behaviour == null)  
  10. behaviour = new ServiceMetadataBehavior();  
  11. //设置允许进行HttpGet操作。  
  12. behaviour.HttpGetEnabled = true;  
  13. //设置MetadataExporter导出Metadata时遵循WS-Policy 1.5规范。  
  14. behaviour.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;  
  15. //将创建好的behaviour加入到宿主实例的行为描述组当中。  
  16. mySvcHost.Description.Behaviors.Add(behaviour);  
  17. //加入MetadataExchange endpoint.  
  18. mySvcHost.AddServiceEndpoint(  
  19. ServiceMetadataBehavior.MexContractName,  
  20. MetadataExchangeBindings.CreateMexHttpBinding(),  
  21. "mex"  
  22. );  
  23. //加入应用程序 endpoint  
  24. WSHttpBinding binding = new WSHttpBinding();  
  25. mySvcHost.AddServiceEndpoint(typeof(IServiceInterface), 
    binding, address);  
  26. //打开 ServiceHost 实例。  
  27. mySvcHost.Open();  

以上就是我们为大家介绍的WCF创建WebService所有操作步骤。

责任编辑:曹凯 来源: CSDN
相关推荐

2010-03-01 10:26:40

WCF异步服务

2010-03-01 16:31:58

WCF实现SOA

2010-03-01 10:54:29

WCF双工会话通道

2009-12-08 14:10:55

Silverlight

2009-12-21 18:32:22

关闭WCF链接

2009-12-07 10:46:08

WCF框架

2010-02-24 10:41:28

WCF服务保护

2010-03-01 16:59:31

WCF异常调试

2010-02-23 17:59:52

WSIT连接WCF

2010-03-01 14:08:53

WCF编码器

2010-02-25 13:18:36

WCF单向协定

2010-02-26 11:22:16

LitwareHR使用

2010-02-25 13:48:23

WCF动态创建代码

2009-12-22 10:05:54

WCF编程生命周期

2010-08-19 17:32:33

DB2dart

2010-02-24 16:17:09

WCF获取客户端IP

2009-12-21 10:09:26

WCF创建客户端服务对

2010-02-24 13:06:27

WCF使用Nhiber

2010-03-02 09:39:11

保护WCF服务

2010-02-23 10:51:32

WCF Address
点赞
收藏

51CTO技术栈公众号