【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;} |
【WCF】WCF 附录 高级主题 配置服务配额设置的更多相关文章
- mysql 5.6.20的安装、配置服务、设置编码格式
一.安装 安装环境 系统:Window 32 版本:Mysql 5.6.20 1. 首先从官网上http://dev.mysql.com/downloads/mysql/ ...
- WCF 配置服务 (02)
配置服务概述 • 在设计和实现服务协定后,即可配置服务. 在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型. • ...
- WCF学习心得------(三)配置服务
配置服务 配置服务概述 在设计和实现服务协定后,便可以进行服务的配置.在其中可以定义和自定义如何向客户段公开服务,包括指定可以找到服务的地址,服务用于发送和接受消息的传输和消息编码,以及服务需要的安全 ...
- WCF基础之配置服务
在WCF应用编程中配置服务是其主要部分. 配置可以定义和自定义如何向客户端公开服务,包括服务地址,发送和接受消息的传输和编码,以及服务的安全类型. 服务的配置有两种:编码和使用config文件,大多数 ...
- WCF学习笔记——配置服务引用
WCF传过来的东西要序列化. 比如,在WCF服务中,象这么个方法 public IEnumerable<UserItem> GetUserList() 默认情况下,在客户端会调用,是这样: ...
- 将WCF寄宿在托管的Windows服务中
在我之前的一篇博客中我介绍了如何发布WCF服务并将该服务寄宿于IIS上,今天我再来介绍一种方式,就是将WCF服务寄宿在Windows服务中,这样做有什么好处呢?当然可以省去部署IIS等一系列的问题,能 ...
- WCF之Windows宿主(可安装成服务自动并启动)
WCF之Windows宿主(可安装成服务自动并启动) 创建解决方案WCFServiceDemo 创建WCF服务库(类库或WCF服务库)WCFService ,添加引用System.ServiceMo ...
- WCF学习之旅—实现REST服务(二十二)
一.什么是REST 表述性状态转移(Representational State Transfer,REST),不是一种标准,而是一种软件架构风格. 基于REST的服务与基于SOAP的服务相比,性能. ...
- WCF学习心得----(四)服务承载
WCF学习心得----(四)服务承载 这一章节花费了好长的时间才整理个大概,主要原因是初次接触这个东西,在做练习实践的过程中,遇到了很多的问题,有些问题到目前还没有得以解决.所以在这一章节中,有一个承 ...
随机推荐
- [原创]python高可用程序设计方法
有时候程序上的bug会导致程序引发诸如段错误的情况而导致程序异常退出,这时用crond服务来检测,就会有一段时间程序处于不可用的情况,为了增强程序的可用性,我们可以让子进程处理业务,而让主进程检测子进 ...
- Java设计模式(17)——行为模式之观察者模式(Observer)
一.概述 概念 UML简图 我们根据一个示例得类图来分析角色 角色 抽象主题:保存观察者聚集(集合),管理(增删)观察者 抽象观察者:定义具体观察者的抽象接口,在得到主题通知后更新自己 具体主题:将有 ...
- 每天看一片代码系列(一):stream.js
简介 stream.js是一个小型的js库,用于处理stream相关的操作.这里的stream是指一种数据结构,它像数组一样,可以放置多个类型的数据,但是并不限制长度,甚至可以达到无限长.可以对该数据 ...
- libevent学习四(Working with events)
1.事件的分类 文件可写 文件可读 超时发生 信号发生 用户触发事件 2事件的生命周期 --非 persistent ...
- facebook原生广告添加adchoice图标
1.在需要显示adchoice的地方添加一个textview: <LinearLayout android:id="@+id/ad_ic_action" android:la ...
- Java多线程之volatile与synchronized比较
可见性: JAVA内存模型: java为了加快程序的运行效率,对一些变量的操作是在寄存器或者CPU缓存上进行的,后面再同步到主存中 看上图,线程在运行的过程中,会从主内存里面去去变量,读到自己的空间内 ...
- mysql5.6 无法远程连接问题解决
需要配置mysql5.6版本的my.cnf文件,我的my.cnf文件配置如下: port=3306是我后来自己加上的.加上这个之后重启mysql service mysqld restart 记得给r ...
- POSTMan 快速上手(一图带你玩 Postman )
POSTMan 快速上手(一图带你玩 Postman ):
- 进度条加载与案例优化对比——python使用perf_count方法实现
本章我们将讨论python3 perf_counter()的用法及它的实际应用我从中选取两个python基于rquests库的爬虫实例代码源文件进行举例 Python3 perf_counter() ...
- Struts2(八.添加用户多张照片实现文件上传功能)
1.modify.jsp 在modify.jsp修改用户信息页面实现文件上传,添加用户照片的功能 如果是文件上传,method必须是post,必须指定enctype <form method=& ...