zoukankan      html  css  js  c++  java
  • 如何在IIS中承载WCF NetTcpBinding 服务

    这篇博客将介绍如何在IIS中承载NetTcpBinding的服务。

    1. 首先准备服务代码。

    Contract

    namespace Contract
    {
        [ServiceContract]
        public interface ICalculate
        {
            [OperationContract]
            double Add(double x, double y);
    
            [OperationContract]
            double Subtract(double x, double y);
    
            [OperationContract]
            double Multiply(double x, double y);
    
            [OperationContract]
            double Divide(double x, double y);
        }
    }

    Service

    namespace Service
    {
        public class Calculate : ICalculate
        {
            public double Add(double x, double y)
            {
                return x + y;
            }
    
            public double Divide(double x, double y)
            {
                return x - y;
            }
    
            public double Multiply(double x, double y)
            {
                return x * y;
            }
    
            public double Subtract(double x, double y)
            {
                return x / y;
            }
        }
    }

    Web.Config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
        </startup>
    
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior name="MessageBehavior">
              <serviceMetadata />
              <serviceDebug includeExceptionDetailInFaults="true"/>
              <dataContractSerializer maxItemsInObjectGraph="65535" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <services>
          <service name="Service.Calculate" behaviorConfiguration="MessageBehavior">
            <endpoint address="net.tcp://172.18.20.67:9998/CalculateService.svc" binding="netTcpBinding" contract="Contract.ICalculate" />
            <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
          </service>
        </services>
      </system.serviceModel>
    
    </configuration>

    SVC

    <%@ServiceHost Service="Service.Calculate"%>

    配置IIS环境,需要将Non-HTTP Activation开启,

    下一步创建一个WebSite来承载WCF服务,

    1). 在Advanced Settings中将net.tcp协议添加,

    2).在WebSite的Bindings中添加需要开放的端口号,例如需要开放9998,如图:


    最后,需要在Windows防火墙中开启需要端口的访问权限。

    这样整个配置就完成了。

  • 相关阅读:
    POJ 2175 Evacuation Plan 费用流 负圈定理
    POJ 2983 Is the Information Reliable? 差分约束
    codeforces 420B Online Meeting
    POJ 3181 Dollar Dayz DP
    POJ Ant Counting DP
    POJ 1742 Coins DP 01背包
    中国儒学史
    产品思维30讲
    Java多线程编程核心技术
    编写高质量代码:改善Java程序的151个建议
  • 原文地址:https://www.cnblogs.com/yang-fei/p/6650656.html
Copyright © 2011-2022 走看看