.NET应用服务器
昨天参加Oracle的一个活动,知道了WebLogic的强大,于是对应用服务器产生了兴趣。
WebLogic是一个Java EE应用服务器(与Java EE对应的另外一个技术平台就是.NET)。

为什么要应用服务器?
当你开发了一个服务端应用程序,部署到服务器之后,需要一个针对这个应用程序的执行环境,而不是将代码放到服务器上就能运行。
你需要将Java的JVM或者.NET的CLR运行起来执行你的应用程序;如果是Web应用程序,需要接收用户通过浏览器发出来的请求,并且能将处理结果返回给浏览器。。。
所以,服务器上仅有操作系统是不够的,还需要相应的应用程序执行环境,最好能有提供执行环境、方便应用程序运行的专用服务器,于是应用服务器应运而生。
如果你是用Java开发的服务端应用程序,不管服务器用的是什么操作系统,只要安装一个Java应用服务器就行了,比如这里提到的WebLogic。
如果你是用.NET开发的服务端应用程序,如果服务器用的是Windows,你需要安装IIS,安装.NET Framework;如果服务器用的是Linux,您需要安装Apache,安装Mono,安装Apache Mono模块。如果有跨平台的.NET应用服务器,比如叫NWeblogLogic,不管服务器用的是什么操作系统,只要安装NWeblogLogic,就能跑.NET应用程序,是不是更幸福一些。
目前有没有.NET应用服务器?
有!一图胜千言,请看下图:

Windows Server 2012有一个专门的角色叫Application Server,而要跑.NET Web应用程序,必须要安装Application Server中的2个功能:IIS+.NET Framework 4.5。
所以,我觉得在不开源的.NET时代,真正的.NET应用服务器就一个——IIS+.NET Framework。

随着.NET进入开源时代,你可以把IIS换成另外的Web服务器(因为有了OWIN),把.NET Framework换成.NET Core,再加上OWIN服务器,再加上WCF的替代品,将这些打包在一起,做成一个.NET应用服务器——NWebLogic。Mono也许可以往这个方向发展。
应用服务器是一个不容易理解的概念,写出来理清一下自己的理解,不对之处,欢迎指出。
【更新】
目前我最喜欢的对Application Server的定义:
An application server exposes business logic to client applications through various protocols.
【补充】
PC Magazine对Application Server的解释值得一看,把其中的几张图贴出来:



【相关链接】
Why does Java apps need an application server and .Net just IIS Web Server?
Application Server vs. Web Server
.NET应用服务器的更多相关文章
- JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器
注意:此为2009年的blog,注意时效性(针对常见服务器) APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...
- 使用ehcache持久化数据到磁盘 并且在应用服务器重启后不丢失数据
使用ehcache时如何持久化数据到磁盘,并且在应用服务器重启后不丢失数据1.如何持久化到磁盘使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache ...
- OpenResty 是一个全功能的 Web 应用服务器
OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过众多进行良好设计的 ...
- 分析案例:应用服务器W3WP进程CPU持续超过百分之九十(Oracle客户端Bug)
问题描述: 项目反馈应用负载的其中一台服务器业务操作的响应非常慢,登录该服务器发现W3WP进程CPU持续超过90%,哪怕在业务低峰期也是如此?远程查看后发现该应用服务器承载的请求确实很低,why??? ...
- 应用服务器和Web服务器
如上图所示,绝大部分的公司会采用Apache+tomcat集群(或jetty集群)来部署公司的Web服务, Web服务器和应用服务器关系,先介绍一下我们常说的服务器: Tomcat服务器,是运行ser ...
- Jetty应用服务器的安装详解
Jetty是一个开源的Servlet容器和应用服务器,它极度轻量级.高便携性.功能强大.灵活和扩展性好,而且支持各种技术如SPDY.WebSocket.OSGi.JMX.JNDI和JAAS.Jetty ...
- 应用服务器Glassfish任意文件读取漏洞
catalogue . 前言和技术背景 . Glassfish安装配置 . 漏洞利用 . 漏洞缓解(修复) 1. 前言和技术背景 0x1: GlassFish是什么 GlassFish 是用于构建 J ...
- EBS应用服务器启动指南
1.ssh应用服务器 applprod用户密码:*** 管理脚本在$ADMIN_SCRIPTS_HOME路径下 adstrtal.sh 启动所有服务,命令行为adstrtal.sh ...
- Spring-事物-不依赖应用服务器的开源JTA事物实现
不依赖应用服务器的开源JTA事物实现JOTM和Atomikos Transactions JOTM 即基于Java开放事务管理器(Java Open Transaction Manager),实现JT ...
随机推荐
- [XAF] How to define a business class at runtime or allow end-users to configure its members via the application UI?
How to define a business class at runtime or allow end-users to configure its members via the applic ...
- zTree的功能解析
zTree ,一个依靠 jQuery 实现的多功能 "树插件".优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点.兼容 IE.FireFox.Chrome 等浏览器, ...
- mysql 数值函数
可使用常见的算术操作符.注意就 -. +和 *而言, 若两个参数均为正数,则其计算结果的精确度为 BIGINT (64比特),若其中一个参数为无符号整数, 而其它参数也是整数, 则结果为无符号整数.请 ...
- IOS 获取当前对象所在的VC
id next = [self nextResponder] ; while (next != nil) { next = [next nextResponder]; if ([next isKind ...
- loadrunner agent 中删除失效的mmdrv进程
源码: using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; us ...
- svn patch用法
最近遇到了一个patch的使用场景: 有一个同事对源码做了一些修改,但是又不想将源码提交到SVN服务器,而我又想得到他所做的修改. patch的使用方法: 创建patch 在要导出“修改”的目录中,单 ...
- ASP.NET 5 入门 (3) – Logging
ASP.NET 5 理解和入门 建立和开发ASP.NET 5 项目 使用自定义配置文件 ASP.NET 5 入门 (3) – Logging 前几天就关注到汤姆大叔的相关文档: 解读ASP.NET 5 ...
- C#函数式编程
提起函数式编程,大家一定想到的是语法高度灵活和动态的LISP,Haskell这样古老的函数式语言,往近了说ruby,javascript,F#也是函数式编程的流行语言.然而自从.net支持了lambd ...
- Homework_4 四则运算 - C#版
题目要求 :http://www.cnblogs.com/gdfhp/p/5311937.html 结对同伴: 姓名:胡仕辉 学号:130201225 博客地址:http://www.cnbl ...
- 【面试必备】javascript操作DOM元素
前言 时间过的真快,不知不觉就到年底了.问问自己,这一年你对自己的工作满意吗? 评价标准是什么呢?当然是马云的那两条准则了:钱给到了吗?干的爽吗?如果答案都是no,那么,你准备好跳槽了吗? 为了应对年 ...