<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="MyWCFServicebehavior">
<serviceDebug httpHelpPageEnabled="false"/>
<serviceMetadata httpGetEnabled="false"/>
<serviceTimeouts transactionTimeout="00:10:00"/>
<serviceThrottling maxConcurrentCalls="1000" maxConcurrentInstances="1000" maxConcurrentSessions="1000"/>
</behavior>
<!--<behavior name="CalculatorServicebehavior">
<serviceDebug httpHelpPageEnabled="false"/>
<serviceMetadata httpGetEnabled="false"/>
<serviceTimeouts transactionTimeout="00:10:00"/>
<serviceThrottling maxConcurrentCalls="1000" maxConcurrentInstances="1000" maxConcurrentSessions="1000"/>
</behavior>-->
</serviceBehaviors>
</behaviors>
<bindings>
<netTcpBinding>
<binding name="tcpbinding">
<security mode="None">
<transport clientCredentialType="None" protectionLevel="None"/>
</security>
</binding>
</netTcpBinding>
</bindings>
<services>
<service name="MyWCF.Service.MyWCFService" behaviorConfiguration="MyWCFServicebehavior">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:11111/CalculatorService"/>
</baseAddresses>
</host>
<endpoint address="" binding="netTcpBinding" bindingConfiguration="tcpbinding" contract="MyWCF.Interfac.IMyWCF"/>
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
</service>
<!--<service name="SOA.WCF.Service.MathService" behaviorConfiguration="MathServicebehavior">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:11111/MathService"/>
</baseAddresses>
</host>
<endpoint address="" binding="netTcpBinding" bindingConfiguration="tcpbinding" contract="SOA.WCF.Interface.IMathService"/>
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
</service>-->
</services>
<!--<behaviors>
<serviceBehaviors>
<behavior name="MathServicebehavior">
<serviceDebug httpHelpPageEnabled="false"/>
<serviceMetadata httpGetEnabled="false"/>
<serviceTimeouts transactionTimeout="00:10:00"/>
<serviceThrottling maxConcurrentCalls="1000" maxConcurrentInstances="1000" maxConcurrentSessions="1000"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="httpbinding"/>
</basicHttpBinding>
</bindings>
<services>
<service name="SOA.WCF.Service.MathService" behaviorConfiguration="MathServicebehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:11113/MathService"/>
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="httpbinding" contract="SOA.WCF.Interface.IMathService"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>-->
</system.serviceModel>
下面展示代码接口代码:
[ServiceContract] public interface IMyWCF { [OperationContract] void Show(); }
展示实现类代码:
public class MyWCFService : IMyWCF { public void Show() { Console.WriteLine("调用显示方式"); } }
端口激活
List<ServiceHost> hosts = new List<ServiceHost>() { new ServiceHost(typeof(MyWCFService)) }; foreach (var host in hosts) { host.Opened += (s, e) => Console.WriteLine($"服务端已经打开:{host.GetType().Name}"); host.Opening += (s, e) => Console.WriteLine($"服务端正在打开:{host.GetType().Name}"); host.Open(); }
实体信息:特性类名称[DataContract]。属性特性:DataMember