美文网首页
WCF无配置文件最简单形式

WCF无配置文件最简单形式

作者: 种太阳__ | 来源:发表于2018-10-12 13:30 被阅读0次

    WCF功能强大自不必说,但是其配置也着实令人害怕,那里面涉及到的名词很多,有时弄完了一遍,过些日子又忘了。在这里我说一下最简单使用代码配置的形式,便于理解最基本要素。

    host = new ServiceHost(typeof(SrvUnityRec),new Uri[] { new Uri("http://localhost:5200")});
    host.AddServiceEndpoint(typeof(ISrvUnityRec), new BasicHttpBinding(), "srv");
    host.Open();
    
    

    ok了。其实就这么简单。当然事先你要准备好服务的协议(Contract)和服务类,就是代码里面的ISrvUnityRec和SrvUnityRec,名字什么的不重要,你自己定,我这里只是拿现有开发的东西举个例子,Contract必须是接口,你应该知道的哦。

    这三句代码可以放在一个控制台程序里或Winform程序里,自己Host服务。想把它放在IIS上可不行,去别的地方找找看怎么弄吧。这三句的意思是首先建立一个服务的宿主,带上基础地址。然后在宿主上加一个终结点,指明Contract,Binding和Address,即ABC。最后打开宿主。

    上面三句话其实就可以工作了,但是,服务一般是需要被别人看见的,就是要让别人了解,这样仅有上面这三句是不够的。要想让这个服务支持被别人发现,必须加上ServiceMetaDataBehavior,如下:

    host = new ServiceHost(typeof(SrvUnityRec),new Uri[] { new Uri("http://localhost:5200")});
    host.AddServiceEndpoint(typeof(ISrvUnityRec), new BasicHttpBinding(), "srv");
    var smBeh = new ServiceMetadataBehavior();
    smBeh.HttpGetEnabled = true;
    host.Description.Behaviors.Add(smBeh);
    host.Open();
    
    

    这样,在浏览器里输入http://localhost:5200就能看到关于这个服务的信息了。也可以让客户端找到服务并加上该服务的引用,真正能够使用了。

    相关文章

      网友评论

          本文标题:WCF无配置文件最简单形式

          本文链接:https://www.haomeiwen.com/subject/dyzwaftx.html