• 如何在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防火墙中开启需要端口的访问权限。

    这样整个配置就完成了。

  • 相关阅读:
    (2)javascript的基本语法、数据结构、变量
    (1)认识javascript
    CSS 浅析position:relative/absolute定位方式
    jquery实现下拉框多选
    Vue.js not detected
    手机代理调试Charles Proxy和Fiddler
    render函数之jsx应用
    vue组件通信方式(多种方案)
    点击页面空白处地方,隐藏弹窗
    css圆角不圆和1px方案
  • 原文地址:https://www.cnblogs.com/yang-fei/p/6650656.html
Copyright © 2020-2023  润新知