【WCF】WCF 附录 高级主题 配置服务配额设置

微软产品自带一个“默认安全”方案。这也包括了WCF,意味着WCF中的多种配置可以设置来阻止诸如DOS(拒绝服务访问)攻击。微软为很多基于一个单一计算机的开发环境选择这样的设置。这也意味着默认设置中的一部分可能需要在生产环境中更改后才能使用。

需要更改的默认设置之一是那些由ServiceThrottlingBehavior行为设置的配置。这个行为通过在服务端设置配额限制来限制资源使用数量。这个行为有三个设置: MaxConcurrentCalls, MaxConcurrentInstance 和 MaxConcurrentSessions. 表A.1 列出了ServiceThrottlingBehavior行为属性以及它们的默认值。

设置 描述 默认值
MaxConcurrentCalls 限制将要处理的同时调用总数。 16
MaxConcurrentSessions 限制连接到一个服务的并发会话最大数量。 10
MaxConcurrentInstances 限制一个服务并发实例的最大数量。 Int32.MaxValue

MaxConcurrentCalls 和 MaxConcurrentSessions 都有可以在一个生产环境中潜在地限制吞吐量的默认值。如果你的服务需要接受更多吞吐而且你的服务有额外的资源去处理额外的负载的话那么你可以改这些设置。仅需要注意这些设置潜在的影响是可能导致拒绝服务访问攻击。列表A.4 显示了如何通过配置文件改这些设置。

列表A.4 在配置文件中改ServiceThrottling

<system.serviceModel>

  <behaviors>

    <serviceBehaviors>

      <behavior name="ServiceThrottlingBehavior">

        <serviceThrottling maxConcurrentCalls="1000"

                                   maxConcurrentSessions="1000"

                                   maxConcurrentInstances="1000" />

      </behavior>

    </serviceBehaviors>

  </behaviors>

</system.serviceModel>

列表A.5 显示了如何使用代码来更改这些设置。

列表4.5 使用代码改ServiceThrottling

public void IncreaseThrottle(ServiceHost serviceHost)

{

    ServiceThrottlingBehavior throttleBehavior =

        serviceHost.Description.Behaviors.Find<ServiceThrottlingBehavior>();

    if (throttleBehavior == null)

    {

        throttleBehavior = new ServiceThrottlingBehavior();

        serviceHost.Description.Behaviors.Add(throttleBehavior);

    }

    throttleBehavior.MaxConcurrentCalls = 4000;

    throttleBehavior.MaxConcurrentInstances = 4000;

    throttleBehavior.MaxConcurrentSessions = 4000;

}

时间: 2024-11-08 21:33:02

【WCF】WCF 附录 高级主题 配置服务配额设置的相关文章

WCF 配置服务 (02)

配置服务概述 • 在设计和实现服务协定后,即可配置服务. 在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型. • 配置服务的类型 – 使用配置文件配置 –  在代码中强制配置 • 实际上,编写配置是 WCF 应用程序编程的主要部分. • 使用配置文件配置WCF服务 – 通过使用配置文件配置 Windows Communication Foundation(WCF) 服务,可提供在部署时而非设计时提供终结点和服务

WCF基础之配置服务

在WCF应用编程中配置服务是其主要部分. 配置可以定义和自定义如何向客户端公开服务,包括服务地址,发送和接受消息的传输和编码,以及服务的安全类型. 服务的配置有两种:编码和使用config文件,大多数是用配置文件进行配置. <system.serviceModel> <!--服务--> <services> <service> <host /> <endpoint/> </service> </services>

将WCF寄宿在托管的Windows服务中

在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能够让部署更加简单,当然WCF的寄宿方式一般分为以下四种方式,针对每一种方式我来简单介绍以下: 具体的寄宿方式详细信息请参考MSDN:https://msdn.microsoft.com/zh-cn/library/ms733109(v=vs.100).aspx 一.WCF服务寄宿方式: 1):寄宿在

十五天精通WCF——第九天 高级玩法之自定义Behavior

原文:十五天精通WCF--第九天 高级玩法之自定义Behavior 终于我又看完了二期爱情保卫战,太酸爽了,推荐链接:http://www.iqiyi.com/a_19rrgublqh.html?vfm=2008_aldbd,不多说,谁看谁入迷,下面言归正传, 看看这个很有意思的Behavior. 一: Behavior这个泼妇的厉害   在前面的文章中,我也清楚的说明了整个wcf通信流,而Behavior这个泼妇可以在wcf通信流中的任何地方插上一脚,蛮狠无比,利用的好,让你上天堂,利用的不

WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?

原文:WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果? 我们想对WCF具有一定了解的人都会知道:在客户端通过服务调用进行服务调用过程中,服务代理应该及时关闭.但是如果服务的代理不等得到及时的关闭,到底具有怎样的后果?什么要关闭服务代理?在任何时候都需要关闭服务代理吗?是否有一些例外呢?本篇文章将会围绕着这些问题展开. 一.会话信道(Sessionful Channel) V.S. 数据报信道(Datagram Channel) WCF通过信道栈实现了消息的编码.传输及基于某些特殊功能对

WCF发布到IIS的配置步骤

练习搭建WCF发布到IIS,配置环境时遇到一些问题,特整理总结分享. 操作系统:Windows7 旗舰版 开发环境:VS2010 .NET Framework4.0  ASP.NET4.0, WCF.4.0 一.搭建IIS服务 1. 控制面板->程序和功能->打开或关闭Windows功能:Internet信息服务 2.检查IIS的配置 控制面板->管理工具->Internet 信息服务(IIS)管理器->网站->default web site(或别的网站)->*

从零开始学WCF3 --配置服务

配置服务概述 在设计和实现服务协定后,即可配置服务.在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到 服务的地址. 服务用于发送和接受消息的传输.(http还是tcp) 消息编码(全文本格式还是优化格式) 服务需要的安全类型. 配置服务的类型 使用配置文件配置 在代码中强制配置 实际上, 编写配置是WCF应用程序编程的主要部分. 使用配置文件配置WCF服务 通过使用配置文件配置WCF服务,可提供在部署时而非设计时提供终结点和服务行为数据的灵活性. 可使用.net framework配

第三节 配置服务

这一节会了解到以下内容: • 配置服务概述 • 配置绑定 • 配置终结点 一.什么是配置服务 1.1 概述 •在设计和实现服务协定后,即可配置服务.在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型. 地址:客户端能找到服务的位置 传输:用HTTP还是TCP等协议 消息编码:文本格式呢还是其他 安全类型:服务要不要安全控制,什么样的安全控制 •两种方式可以进行配置 – 使用配置文件配置 – 在代码中强制配置(在代

Docker Network Configuration 高级网络配置

Network Configuration TL;DR When Docker starts, it creates a virtual interface named docker0 on the host machine. It randomly chooses an address and subnet from the private range defined by RFC 1918 that are not in use on the host machine, and assign