我们知道,在一个SharePoint的服务器场中,不同的机器有不同的角色,其中的一个角色就是web前端服务器(web front end),与之相对的还有应用程序服务器(application server)、数据库服务器(database server)等等。我在刚刚接触SharePoint的时候,总是疑惑前端服务器是什么,它与应用程序服务器的区别是什么,今天简单总结一下吧

这里是web front end的一个解释:点击打开链接 讲的很明确了,web 前端服务器其实就是一个web server,用来处理用户的http/https请求,然后返回数据。web front end是依靠IIS来做到这一点的,因此一个web front end上,必须要安装IIS。一个服务器场(farm)中,可以包含多个前端,同样每个前端都需要安装IIS,多个前端还可以使用负载均衡来分发用户的请求。可以处理web request就是前端的标志。而应用程序服务器,一般不会处理web request,而是处理一些其他的任务,例如timer job, index等等。

那么如何判断一个server是不是前端呢?安装了IIS的server,未必是一个前端,我见过一些application server上也安装了IIS,虽然也可以作为前端,但是从来不用。从SharePoint的管理中心来看,System settings->Manage servers in this farm,可以看到server上运行的各个服务:

可以看到其中一个服务是“Microsoft SharePoint Foundation Web Application”,这个服务就标志着这个server可以作为前端,就可以认为这个server是一个前端,如果没有这个服务,一定不是前端。需要注意的是这个服务的名字在SharePoint 2007中,叫做“Windows SharePoint Services Web application”。

因此我们还可以通过代码来判断,当前的服务器是不是一个前端:

using Microsoft.SharePoint.Administration;
private bool IsWebFrontEnd(SPServer server)
{bool isWFE = false;foreach (SPServiceInstance spsInstance in server.ServiceInstances){if (spsInstance is SPWebServiceInstance  //SPWebServiceInstance就是上面提到的service实例:Microsoft SharePoint Foundation Web Application&& spsInstance.Status != SPObjectStatus.Disabled)  //没有被禁用&& spsInstance.Name != "WSS_Administration")//如果CA上也运行着这个服务,就需要排除CA自己的一个web service 实例。{isWFE = true;break;}}return isWFE;
}

需要说明的是,SharePoint 提供了一个对象“ SPServerRole”这个枚举对象的值分别为:Invalid,WebFrontEnd,Application,SingleServer。这里虽然有一个值是“WebFrontEnd”,但是这个值不能准确的判断当前server是否是一个前端,例如一个standalone的环境,server既是一个前端,可以接受web request,也是CA,可以管理SharePoint,这个时候这个server的role是Application。

什么是前端(web front end)?相关推荐

  1. 前端web项目使用electron和electron-builder生成桌面应用

    背景 需求推进技术探索,技术实现需求设计.刚开始本来是用 vue 做一个 web 项目,随着开发推进,产品要求做成桌面端应用... 想到了用 Electron 框架构建桌面应用程序,查了一下大多都是使 ...

  2. 2020 前端必看 20个最好的 前端 Web开发工具

    引言 市面上有许多前端开发工具可以加速 Web 开发工作.本文是对一些顶级 Web 开发工具的一次精选汇总,分别介绍了每款工具的关键特性,并已附上下载链接. 1. Novi Builder Novi ...

  3. 跨行合并居中html标记语言,[前端Web]HTML语法最全解-建议收藏

    原标题:[前端Web]HTML语法最全解-建议收藏 1. 标签全解 1.1 文件标记 作用:文档声明标签.定义该文档是html5的文档,位于标签前面 详解: HTML总共有很多的版本,那么浏览器怎么知 ...

  4. web项目怎么打包上线_高级前端web工程师简历范文,【工作经历+项目经验+自我评价】怎么写...

    高级前端web工程师简历范文,工作经历+项目经验+自我评价怎么写 [网盘下载]100+清新大气简历模板下载: https://zhuanlan.zhihu.com/p/115911695 https: ...

  5. [Amaze UI] 如何推进 mobile first 的前端 Web 方案

    背景:云适配创立之初,我们就开始积累自己的前端框架,同时也借鉴了Bootstrap等国外框架的优点.在内部使用过程中,大家一致反映不错,我们就希望把这个产品开源,希望分享给更多的人,也希望更多的人来贡 ...

  6. Servlet之前端web数据与后台Java数据进行交互

    前端web数据传到后台数据,可以通过注解的方式,在前端的表单中的action属性里起一个名字,例如是 action = "login",那么在后台的servlet类中只需在类上面写 ...

  7. 第一周前端web学习记录

    第一周前端web学习记录 #什么是HTML.CSS? 如何写代码以及在哪里写 vs code 的基本使用方法 浏览器 网站开发 HTML 的结构基础和属性 创建标签 嵌套 HTML标签 设置属性 HT ...

  8. freemaker 前端web教程

    一篇很全面的freemarker 前端web教程 转载 http://blog.csdn.net/fhx007/article/details/7902040/ FreeMarker的模板文件并不比H ...

  9. 在HBuilder创建前端web项目时,图片加载不出来,怎么解决?

    在HBuilder创建前端web项目时,图片加载不出来,如下: 解决方法: 将图片文件路径减少,可正常显示,如图:

最新文章

  1. 如何找回由于IO设备错误移动磁盘的文件
  2. 02—C语言基本语句(上)
  3. string 类的实现
  4. SQLite学习手册(实例代码一)
  5. 网页设计html加音频,HTML5网页中如何嵌入音频,视频?
  6. Python 打包工具cx_freeze 问题记录及解决办法
  7. MySQL史上最快逻辑备份工具
  8. class反编译成java_Java黑科技之源:JVMTI完全解读
  9. DIY专门制作PCB的雕刻机--所需软件
  10. 京东2017实习生Java.md
  11. 运用python简单的画圆
  12. 『毒舌电影社区』干掉烂片,让烂片无路可走!
  13. String“+”与StringBuffer/StringBuilder 对象的append方法
  14. 系统渗透与防护——网络安全
  15. 2018 焦作 onsite E - Resistors in Parallel(数学或规律+大数)
  16. 边缘计算(二)——边缘计算的类型与用途
  17. 7-226 sdut-C语言实验-矩阵输出(数组移位)7-227 sdut- C语言实验-计算1到n的和(循环结构)7-228 加法口诀表
  18. Java项目:基于java航空订票系统(计算机毕业设计)
  19. 使用位运算实现乘法和乘方运算
  20. matlab 函数pdf怎么用_用smallpdf可以将图片转换成pdf呢?怎么转?

热门文章

  1. 纽约时报:中国网游青年全球生财之道
  2. 十进制和N进制之间的转换
  3. fget、feof、 fopen
  4. 低仿饿了么H5-纯前端Vue版 + 手把手教学
  5. 微信小程序点击拨打电话
  6. 单目标优化:猎豹优化算法(The Cheetah Optimizer,CO)求解cec2020(提供Matlab代码)
  7. TensorFlow中学习率
  8. 20172325 2018-2019-2 《Java程序设计》第六周学习总结
  9. 分享几款分析流量的工具
  10. 浪潮服务器nf5270m5做raid_常见服务器陈列卡解说