(WCF)阅读WCF分布式开发步步为赢(2)自定义托管宿主WCF解决方案开发配置过程详解的一点心得

看完整篇文章后算是对一般wcf开发有了稍微深入点的认识(基于开发),但是对于wcf整个结构的由来仍然还是迷惑的很。看样子一般wcf程序就是要弄个契约工程(主要是接口),另外针对该接口还需要一个契约实现工程(即服务工程),然后就是对服务的容器即服务宿主进行配置或编程管理,总感觉宿主有点代理的感觉,集中的配置了访问地址、访问方式以及所需要提供的参数,然后由客户端进行访问调用。

对于

1 wcfserviceapp中的.svc文件从图表上来看应该是asmx文件,而其工程图标也是web服务图标,请问你是如何建立的工程以及那个svc文件?是否就是直接新建webservice项目,然后将service1.asmx改名成***.svc?

经xu同学提醒我才发现,自己看到的在新建项目对话框中看到的“新建wcf service“图标并没有真正的应用到新建wcf service工程后的图标,新建后的wcf service图标实际上是web 网站啊web service图标。


2 接1还是这个工程,自身已经包含契约以及实现,只不过其宿主并没有以自寄宿来实现,而是放在了wcfhost里,因此客户端在调用的时候实际上执行的是两个不同的程序逻辑,所以查询服务得到不一样的信息。但文章中“使用不同元数据地址,我们可以查询到不同的服务信息”,感觉这个有点不准确,这句话是说因为不同元数据地址导致查询到不同服务信息,但是实际上是因为契约不同所导致看到的元数据不同。

经xu同学证实,我的想法是正确的。

接下来自己对上述的服务容器(host)有着代理的意思,其实实质上理解应该是不对的,假如是代理的话,客户端应该引用代理,而不是仍然需要查询服务形成引用,所以这里服务容器确实只是个容器,它提供服务运行的环境,并对服务的运行进行一系列配置。

原文地址:https://www.cnblogs.com/ocean2000/p/1595625.html