千家信息网

怎么解决WCF自宿主问题

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家介绍怎么解决WCF自宿主问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。经过长时间学习WCF,对WCF也有一定程度上的认识了解,这里就发表下我的言论吧。WCF自宿
千家信息网最后更新 2026年11月03日怎么解决WCF自宿主问题

这篇文章给大家介绍怎么解决WCF自宿主问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

经过长时间学习WCF,对WCF也有一定程度上的认识了解,这里就发表下我的言论吧。WCF自宿主是当开发者负责提供和管理宿主进程的生命周期时使用的技术名词。自宿主被应用在位于客户端和服务之间的一个进程(或计算机)边界环境中,以及当使用进程中服务的情况下(也就是说,与客户端处于相同的进程中)。

你需要提供的进程可能是任何Windows进程,例如,一个Windows表单应用程序,一个控制台应用程序或一个Windows NT服务。注意,该进程必须在客户端调用服务之前先运行起来;典型情况下,这意味着,你必须预先启动它。对于NT进程中服务来说这并不是一个问题。类似于IIS宿主,WCF自宿主应用程序配置文件必须列出你想宿主的服务的类型并且暴露给外界。而且,该宿主进程必须在运行时刻显式地注册服务类型并且打开该宿主以便于客户端调用。典型地,这是在Main()方法中使用如下定义的助理类ServiceHost实现的:

public interface ICommunicationObject : IDisposable  {  void Open();  void Close();  //更多成员  }  public abstract class CommunicationObject :  ICommunicationObject  {...}  public class ServiceHostBase : CommunicationObject,...  {...}  public class ServiceHost : ServiceHostBase,...  {  public ServiceHost(Type serviceType,  params Uri[]baseAddresses);  //更多成员  }

提供给ServiceHost的构造函数的信息有:服务类型和(可选)默认的基地址。该基地址集可以是一个空集(以后,你可以配置不同的基地址)。拥有一组基地址能够使服务接受在多个地址和协议上的调用。注意,每个ServiceHost实例都关联与一个特定的服务类型,并且如果宿主进程需要宿主多个类型的服务的话,你需要一些匹配的ServiceHost实例。通过调用宿主中的ServiceHost.Open()方法,你允许调入(call- in);并且通过调用ServiceHost.Close()方法,你可以体面地退出宿主实例并完成到当前客户端的数据发送,并且还要拒绝未来的客户端调用-即使宿主进程仍在运行中。典型地,关闭操作是在WCF自宿主进程关闭时实现的。例如,为了把这个服务宿主在一个Windows表单应用程序中:

[ServiceContract]  interface IMyContract  {...}  class MyService : IMyContract  {...}  你可以编写:  public static void Main()  {  Uri baseAddress = new Uri("http://localhost:8000/");  ServiceHost serviceHost;  serviceHost = new ServiceHost(typeof(MyService),baseAddress);  serviceHost.Open();  //能够拦截调用:  Application.Run(new MyForm());  serviceHost.Close();  }

关于怎么解决WCF自宿主问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

宿主 进程 服务 客户 客户端 类型 应用 基地 基地址 应用程序 更多 程序 问题 典型 实例 方法 运行 内容 多个 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 互联网科技公司起名 北京路客互联网科技有限公司 互联网科技工作委员会副主任毛军 中国互联网科技股 广州互联网科技公司 云电互联网科技 上海喔噻互联网科技 时间互联网络科技 互联网 视角下的科技创新 互联网科技视频素材 茂名市互联网科技产业园 世界互联网科技公司市值排名 武汉健翔互联网络科技有限公司 华夏恒生科技与互联网科技 互联网科技创新的路径 云南省自由互联网科技有限公司 信承诺互联网科技有限公司 陕西九四连强互联网科技有限公司 山东蛋芒互联网科技有限公司 广州大一互联网络科技有限公司 港股互联网科技股 没上市的科技互联网公司 上海万想互联网科技 宁波青枫互联网科技有限公司 阿大互联网科技有限公司 宜昌元轩互联网科技有限公司 中和天地互联网科技有限公司 怎样加入科技互联网 网互联网络科技
0