微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

AD:2013云计算架构师峰会课程资料下载

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

例子:

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来建立宿主:

  • internal class MyServiceHost  
  • {  
  • internal static ServiceHost mySvcHost = null;  
  • internal static void StartService()  
  • {  
  • ……  
  • }  
  • internal static void StopService()  
  • {  
  • ……  
  • }  
  • }  
  • static void Main(string[] args)  
  • {  
  • MyServiceHost.StartService();  
  • Console.ReadLine();  
  • MyServiceHost.StopService();  
  • Console.Read();  
  • return;  
  • 这里,我们定义了一个宿主 MyServiceHost,其中包含一个ServiceHost类的成员,ServiceHost类是ServiceModel当中用来创建通信对象的类。我们可以通过它来创建一个监听的对象,成为EndpointListener.

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

  • internal static void StartService()  
  • {  
  • //首先,创建一个ServiceHost对象,传入的参数是Service对象的类型和服务的地址。  
  • Uri address = new Uri("http://localhost:8080/service1");  
  • mySvcHost = new ServiceHost( typeof(Service1),address );  
  • //在创建的ServiceHost对象当中查找,看是否存在ServiceMetadataBehavIoUr的元数据行为  
  • //描述,如果没有找到,创建一个新的ServiceMetadataBehavIoUr对象。  
  • ServiceMetadataBehavior behavIoUr = mySvcHost.Description.
    Behaviors.Find
    <ServiceMetadataBehavior>();  
  • if (behavIoUr == null)  
  • behavIoUr = new ServiceMetadataBehavior();  
  • //设置允许进行HttpGet操作。  
  • behavIoUr.HttpGetEnabled = true;  
  • //设置MetadataExporter导出Metadata时遵循WS-Policy 1.5规范。  
  • behavIoUr.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;  
  • //将创建好的behavIoUr加入到宿主实例的行为描述组当中。  
  • mySvcHost.Description.Behaviors.Add(behavIoUr);  
  • //加入MetadataExchange endpoint.  
  • mySvcHost.AddServiceEndpoint(  
  • ServiceMetadataBehavior.MexContractName, 
  • MetadataExchangeBindings.CreateMexHttpBinding(), 
  • "mex"  
  • );  
  • //加入应用程序 endpoint  
  • WSHttpBinding binding = new WSHttpBinding();  
  • mySvcHost.AddServiceEndpoint(typeof(IServiceInterface), 
    binding, address);  
  • //打开 ServiceHost 实例。  
  • mySvcHost.open();  
  • 以上就是我们为大家介绍的WCF创建WebService所有操作步骤。

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

    相关推荐