我尝试创建硬编码的wcf服务(没有app.config)我尝试了以下
service = new CommService.TwService();
localHost = new ServiceHost(service);
ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
localHost.Description.Behaviors.Add(behavior);
localHost.AddServiceEndpoint(typeof(IMetadataExchange),
MetadataExchangeBindings.CreateMexNamedPipeBinding(),
"net.pipe://localhost/service/mex/");
localHost.Open();
失败了:
服务'CommService.TwService'没有应用程序 (非基础设施)端点。这可能是因为没有 找到了您的应用程序的配置文件,或者因为没有 匹配服务名称的服务元素可以在 配置文件,或者因为没有定义端点 服务要素。
答案 0 :(得分:3)
您只为Mex添加了一个端点,它不会公开服务本身。您需要为服务实现显式添加另一个绑定,例如;
WSHttpBinding binding = new WSHttpBinding();
localHost.AddServiceEndpoint(typeof(CommService.TwService), binding, "http://localhost/service");