【问题标题】:Two WCF services, hosted in one console application两个 WCF 服务,托管在一个控制台应用程序中
【发布时间】:2012-02-08 03:03:57
【问题描述】:

我有一个控制台应用程序作为 WCF 服务的宿主。现在,我将添加另一个 WCf 服务用于管理目的。所以,这是我的代码:

[ServiceContract]
public interface IServiceAdmin
{
    [OperationContract]
    int GetCount();
}

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single)]
public class ServiceAdmin : IServiceAdmin
{        
    public int GetCount()
    {
        // It's just a stub to go on
        return 1;
    }
}

以下是应用于服务的App.config 的摘录:

<serviceBehaviors>
     <behavior name="MyService.ServBehavior">
       <dataContractSerializer maxItemsInObjectGraph="2147483646"/>
       <serviceMetadata httpGetEnabled="false" />
       <serviceDebug includeExceptionDetailInFaults="true" />
     </behavior>
   </serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="MyService.ServBehavior" name="MyService.MyServ">
  <endpoint address="MyServ" behaviorConfiguration="" binding="netTcpBinding" contract="MyService.IMyServ"  isSystemEndpoint="false" />
  <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
</service>
<service behaviorConfiguration="MyService.ServBehavior" name="MyService.MyServAdmin">
  <endpoint address="MyServ" behaviorConfiguration="" binding="netTcpBinding" contract="MyService.IServiceAdmin"  isSystemEndpoint="false" />
  <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />  
</service>

这是我开始服务的方式:

static void Main(string[] args)
{
ServiceHost myserviceHost = new ServiceHost(typeof(MyServ), new Uri("net.tcp://192.168.1.40:8730/"));
myserviceHost.Open();

ServiceHost myAdminHost = new ServiceHost(typeof(AServiceAdmin), new Uri("net.tcp://192.168.1.40:31337/");
myAdminHost.Open();

Console.ReadLine();
}

问题在于常规服务运行良好(元数据交换可以提供有关服务方法的信息)而另一项服务(我在开头提到,管理服务)根本无法运行。 是这个原因吗?

提前致谢!

【问题讨论】:

标签: c# .net wcf web-services metadata


【解决方案1】:

问题在于 App.Config 中的服务名称错误。右边是

<service behaviorConfiguration="MyService.ServBehavior" name="MyService.ServiceAdmin">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多