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

这样整个配置就完成了。

时间: 2024-07-28 14:25:25

如何在IIS中承载WCF NetTcpBinding 服务的相关文章

在 IIS 中承载 WCF 服务

本主题概述了创建 Internet 信息服务 (IIS) 中承载的 Windows Communication Foundation (WCF) 服务所需的基本步骤. 本主题假设您熟悉 IIS 且了解如何使用 IIS 管理工具创建和管理 IIS 应用程序. 有关以下内容的详细信息请参阅 IIS Internet Information Services AWCF在 IIS 环境中运行的服务充分利用 IIS 功能,如进程回收. 空闲关闭. 进程状况监视和基于消息的激活. 此宿主选项要求正确配置 I

如何在IIS中配置WCF

1.先做好WCF项目.2.在IIS中创建应用程序,指定目录里放WCF生成的项目文件.生成部署包.3.在MIME类型中,添加新项,扩展名为:.svc ,类型为application/octet-stream4.在处理程序映射处理添加三项. 托管程序处理  路径:*.svc :  类型:System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, C

Windows 2008下在IIS中寄宿WCF MSMQ的方法

由于工作需要,最近几天在研究Windows 2008下如何在IIS中寄宿WCF MSMQ,中间遇到不少问题,现将操作方法整理一下,方便其他朋友参考. 一.编写服务端代码 在本例中,添加WCF服务MyGreeting.svc,服务端代码如下: 1.服务契约 1 using System.ServiceModel; 2 3 namespace IisMsmqServer 4 { 5 [ServiceContract] 6 public interface IMyGreeting 7 { 8 [Ope

WCF分布式4:客户端访问寄宿在IIS中的WCF服务

部署过程比较简单,新建一个站点,指向服务的物理路径,设置一个端口.即可. 新建的站点对应一个应用程序池,设置应用程序池中的.NET版本为4.0 写一个测试客户端,访问IIS中的WCF服务,可能会出现, Method Not Found 解决措施 第一步,上图中的 windows Communication Foundation HTTP Activation 打上勾 第二步,如果出现 未能从程序集"System.ServiceModel, Version=3.0.0.0, Culture=neu

如何在 IIS 中设置 HTTPS 服务

Windows Server2008.IIS7启用CA认证及证书制作完整过程 这篇文章介绍了如何安装证书申请工具: 如何在iis创建证书申请: 如何使用iis申请证书生成的txt文件,在工具中开始申请证书: 如何导出证书: 以及在网站中开始使用https的方法:

Asp.Net Core 如何在 IIS 中设置环境变量

当运行一个 Asp.Net Core 应用的时候, WebHostBuilder 根据环境变量来判断当前运行的是哪个环境,可能是 Development,Staging或者Production.你也可以设置成随便的一个字符串. 这个链接将会告诉你 如何在各种平台各种环境中设置环境变量.但如果你使用 IIS来代理 Asp.Net Core.你需要在 web.config 中设置环境变量 <configuration> <system.webServer> <handlers&g

演示如何在 WebForm 中提供 web api 服务

Global.asax.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Routing; using System.Web.Security; using System.Web.SessionState; using System.Web.Http; namespace WebApiWebFormHost { public class

如何在Java中快速发布WebService服务

在实际中,您是否遇到过需要发布WebService给别人调用的需求哪?如果您是个Java的新手,客户或合作方又催得很紧,您肯定为这事儿犯愁.别急,让我们看看能用哪些工具或对象发布.Java中可供选择的方式太多,如Axis2.XFire.JWS等.郁闷了,看都看不懂,谁知道该用哪一个. 别着急,如果您特别着急,客户马上就要要,那就用下面这种方法吧: 一.通过Axis2提供的模板自动发布 这种方法非常简单,只要下载Axis包后从里面的"axis-1_4\webapps"中找到axis站点,

asp.net core webapi 似乎未安装在 IIS 中承载 .NET Core 项目所需的 AspNetCoreModule。请尝试修复 Visual Studio 以纠正该问题。

安装 DotNetCore.1.1.0-WindowsHosting 后,提示如题错误. 解决办法: ASP.NET Core 应用程序运行,可以选择 IIS Express 也可以选择 自己运行 ,采用的Server是 Kestrel. 这里我们采用第二种 Kestrel.