加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 23:58:26 所属栏目:安全 来源:网络整理
导读:我们在这里为大家介绍的WCF创建WebService的主要步骤包括有四个步骤,我们将会对这些具体的操作步骤进行详细的介绍。 AD:2013云计算架构师峰会课程资料下载 其实,运用WCF对WEB进行相关的操作是一个比较简单的操作技术,我们可以通过这篇文章介绍的具体操作

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

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

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

  • WCF服务合同相关内容解读
  • WCF IIS宿主基本应用技巧分享
  • WCF自宿主管理进程声明周期
  • WCF端点配置具体管理办法
  • WCF服务宿主程序正确实现方法解析

例子:

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. } ?
  13. }?

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

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所有操作步骤。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读