有什么办法可以把word文档页面横向中的页面

2470人阅读
SharePoint 2013 系列(130)
1、如下图,在使用SharePoint2013产品准备工具的时候,网上下载安装Windows Server AppFabric的时候,报错,点击完成重启计算机,重新安装依然报错。
2、无奈之下,只有选择手动安装,下载好安装包,双击安装;
安装完成就报错,但是有如下提示,不过相比日志看起来人性化多了。
由于安装程序MSI返回错误代码1603,因此,AppFabric安装失败。
3、经过不懈的百度、谷歌、bing搜索,发现一个类似情况的解决方案,尝试修改如下环境变量(PSModulePath),去掉最后的双引号。
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;D:\Program Files (x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules&
4、再次手动安装,安装成功
特别注意:这个可以手动安装,安装完毕后,准备工具向导也可以过去,但是安装SharePoint的时候,会提示Windows Server AppFabric未配置,所以,这个工具要么使用命令安装,要么使用准备工具向导安装,才是上策。
命令附后:&X:\WindowsServerAppFabricSetup_x64.exe& /i CacheClient,CachingService,CacheAdmin /gac
5、重新运行SharePoint2013准备工具,已经可以走到下一步了,问题搞定!
后记:看到准备工具可以继续了,我是多么欣慰啊,已经无力吐槽,记在博客,留个记录,就这样吧~~
参考资料:
/questions//appfabric-installation-failed-because-installer-msi-returned-with-error-code-1
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
CSDN 学院认证讲师51cto 学院认证讲师
SharePoint 技术交流群QQ群号:
SharePoint 技术高级群QQ群号:
高级群高手招募ing~~
有SharePoint项目,欢迎联系我:linyu_.
访问:349115次
积分:5759
积分:5759
排名:第4163名
原创:250篇
评论:54条
阅读:4450
阅读:10272
文章:28篇
阅读:47609
文章:13篇
阅读:21759
阅读:10585
文章:39篇
阅读:64031
(1)(3)(2)(2)(15)(4)(9)(1)(8)(1)(2)(1)(3)(5)(9)(7)(5)(2)(4)(10)(3)(11)(5)(8)(7)(2)(8)(17)(17)(9)(16)(54)本帖子已过去太久远了,不再提供回复功能。Windows Server AppFabric分布式缓存详解
AppFabric是什么
??AppFabric是微软提供的可以集成到 Web 应用程序和桌面应用程序的分布式缓存。其原名为Velocity,后更名为AppFabric。 AppFabric 能够提高性能、可伸缩性和可用性,而从开发人员的角度来看,其行为方式与普通的内存缓存一样。任何可序列化的对象都可以缓存,例如 DataSet、DataTable、二进制数据、XML、自定义实体以及数据传输对象。
体系结构和相关概念
??AppFabric由多个可以相互通信,统一的应用程序缓存服务的群集。物理模型的主要包括缓存服务器,缓存主机Windows服务,缓存群集,基于PowerShell的缓存管理工具,群集配置存储位置和缓存客户端。
??物理模型主要包含以下几个概念:
缓存主机(cache host)
??AppFabric 缓存服务是运行在一个或多个服务器上的 Windows 服务。运行缓存服务的每个服务器均称为一个缓存服务器。对于每个缓存服务器,只可安装缓存服务的一个实例。缓存服务主机与数据源主机最好是在同一个域下,缓存主机服运行在Network Service账户下,缓存主服务上的各种操作用域下的高速缓存认证凭据。
缓存集群(cache cluster)
??缓存群集是以环状方式共同存储和分发数据的缓存服务的一个或多个实例的集合。数据存储在内存中,以最大程度地减少数据请求的响应次数。缓存群集的操作由角色进行管理,被命名为群集管理角色。它的职责主要包含以下三点:
让缓存群集一直处于运行状态; 监测缓存群集中的所有缓存主机; 帮助缓存主机加入缓存群集。
群集配置存储区(Cluster Configuration Storage Location)
??集群每次启动时,必须从群集配置中的存储位置检索配置信息。下表显示了三种可能的方式,以及这些方法与群集管理选项的关系:
共享网络文件夹
SQL Server
SQL Server
SQL Server(默认)或主要主机
自定义提供程序
自定义存储
自定义存储
基于PowerShell的管理工具(PowerShell-Based Cache Administration Tool)
??Windows PowerShell 是缓存服务的专用管理工具。Windows PowerShell 缓存管理 cmdlet 可以安装在任何域计算机上或缓存服务器上。通过安装 AppFabric 的缓存管理功能可以完成此操作。您必须具有对所有缓存服务器的管理员权限,才能使工具正常运行。
缓存客户端(Cache Client)
??AppFabric分布式缓存集群是设计用于应用服务器在企业数据中心,并部署在企业防火墙的内。任何使用服务器上运行的高速缓存的应用程序统称为缓存客户端。
??逻辑概念上将AppFabric分为:命名缓存(named caches),缓存域(regions)和缓存对象(cached objects)。
命名缓存(named caches)
??命名缓存是一个通过配置在内存中形成的分布式缓存存储单元。你可以在一个应用程度中配置一个或多个name caches,每个name caches不会受其它配置的影响,这样你可根据程序的需要,配置多个name cache,并且每个name caches使用不同的缓存策略。
??如上图所示:name caches跨越分布在每个缓存主机上,如果你不为缓存指定名称,你的数据将被存储在默认的&default&缓存命名下。
??所有缓存都有群集配置来定义。使用PowerShell的缓存管理工具来创建或重新配置缓存。某些设置只能第一次创建缓存时配置。例如,您使用New-Cache命令启用高可用性或通知功能。其他设置可以以后改变,但可能需要重新启动整个缓存集群。
区域(regions)
??区域是一个逻辑上的缓存存储域(感觉可以理解为一个命名空间吧)。regions是一个可选项,不是通过配置创建的,你必需在代码中用CreateRegion函数创建。可以通过regions查找该region下的所有cache objects。为了提供这种附加的搜索功能,在一个区域内的对象仅限于一个单一的缓存主机。因此,使用该数据的应用程序无法实现分布式缓存的可扩展性优势。相反,如果你不指定一个区域,缓存的对象,否则可以负载平衡??集群中的所有缓存主机。
缓存对象(caches objects)
??从缓存群集检索的对象采用其 System.Object 基类的形式,因此需要进行类型转换以将它们还原为其原始类型。当某个对象处于缓存中时,缓存群集会将附加信息与该对象关联。这些信息包括密钥、标记、版本号以及存储对象的缓存和区域。
??当数据不存在于你的客户端缓存中时,需要重新从Caches Host中加载。客户端使用DataCache类来添加客户端cache。
缓存策略(Caching Strategy)
??应用程序就设计成在没有缓存存在时仍然可以正常运行,因为缓存并不是绝对持久有效的,它总有失效或不存在的可能性。AppFabric的高可用性可以有效的防止群集中的个别主机故障带来的问题,但是如果群集中有太多的主机挂了,那AppFabric还是会挂(相当与disk raid吧,坏了个别还可以跑)。
??还有许多其他的原因会导致程序找不到缓存:缓存可能已经过期或者被移除,可能已重新启动缓存服务器,缓存主机服务可能已重新启动,或缓存群集可能已被意外重新启动。所以务必确保在没有缓存的情况下,应用程序仍然可以访问到正数据并正常运行。
缓存客户端(Cache Clients)
??为了存储在缓存中的数据,可以使用GetCache方法用于返回一个DataCache对象, DataCache对象实例化后的实例被称为缓存客户端。有许多选项可用来配置缓存客户端的行为,编程方式或使用应用程序配置文件,或同时使用这两种方法。
应用程序级配置(Application Configuration)
??AppFabric支持许多缓存配置。配置可分为3个级别:用程序级,缓存主机级,缓存群集级。 AppFabric还提供了用于指定和存储的缓存集群和客户端应用程序使用的配置。
缓存客户端与本地缓存
??使用AppFabric缓存,应用程序中需要用到DataCache对象存储缓存对象。这个对象就是缓存客户端,它为应用程序提供了一个缓存群集服务的name cache的引用。该对象由DataCacheFacory对象的GetCache方法创建。
??出于性能考虑,建议在应用程序中尽量少创建DataCacheFactory对象,在应用程序中创建一个全局变量,以便缓存客户端可以在任何地方都给使用--用单件模式吧
??缓存客户端分为两种:路由客户端和普通客户端。两种缓存客户端都可以将缓存存储在本地,这种被存储在本地的缓存称为:本地缓存。缓存客户端的存储选项可以通过应用程序配置文件指定。
客户端类型
下图中有两个使用了缓存的应用程序:路由(routing)和普通(simple):
路由客户端(Routing Client)
??路由客户端的性能要高于普通客户端,因为它在缓存的引导主机(Lead hots)上保存了一张路由表。该路由表用记录缓存群集中的所有缓存主机上的对象的地址并做唯一标示。路由客户端使用路由表可以直接找到对象的物理地址。
普通客户端(Simple Client)
??只要有可能,尽量使用Routing Client,但在情况下,如网络拓扑中,可能有些客户端只能访问缓存服务群集的中的部分主机,这时就要用到Simple Cleint来做为分布式缓存的数据源。为了在有限的网络通信情况下工作,Simple Client被设计为只访问缓存群集中的一台主机。它没有路由选择功能,不能跟踪对象的地,要获取缓存中的一个对象通常需要遍历所有主机。
??缓存主机存储的是序列化后的对象,客户端要使用该对象,必需先反序列化,为了提高取出对象的效率,可以启用本地缓存。路由客户端和普通客户端都可以使用本地缓存。
??当启用本地缓存后,对象将以复本的文本保本地计算机的内在中,客户端应用程序在从缓存主机取出对象时,先检查本地缓存是否已存在该对象。如果本地缓存已存在该对象,将直接从本地取出。
??本地缓存有两种过期策略:超时过期和通知过期。
线程并发(Object Consistency)
??本地缓存对象和缓存客户端对象在同一个进程空间中,只为DataCache是引用方式获取这些对象,在多线程应用程序中可能会存在线程同步问题。为了避免潜在的多线程中的问题,多线程应用程序在使用缓存对象时应先生成一个对象的复本,或对取其它方式来避免线程并发问题。另一种方法是为每一个线程创建一个DataCache对象。
??AppFabric允许任何有网络权限和相关配置的缓存客户端公开的访问缓存数据,这样就面临着安全和并发的挑战。
??为了减少安全问题,所有的缓存客户端、缓存服务和主数据源服务器都应该在同一个域下,并在防火墙内,这是极度推荐的方法。
??为了解决并发问题,AppFabric提供了乐观并发模型和悲观并发模型。
乐观并发模型
??在乐观并发模型中,缓存对象的更新不进行锁定。但当缓存客户端从缓存获得对象时,它还获得并存储该对象的当前版本。当需要进行更新时,缓存客户端会将对象新值与已存储的版本对象一起发送。仅当发送的版本与缓存中对象的当前版本匹配时,才会更新对象。对象的每次更新都会更改其版本号,这可以防止更新覆盖其他人的更改。
??下面这个示例中,两个单独应用程序服务器上的两个缓存客户端(cacheClientA 和 cacheClientB)尝试更新同一个名为 RadioInventory 的缓存对象。
时间零点:两个客户端都检索同一个对象
??两个缓存客户端实各例化一个DataCacheItem类,并取出缓存同一个对象,两个DataCacheItem实例要准备要更新对象。
时间 1:首次更新成功
??cacheClientA将对象RadioInventory更新,RadioInventory的版本号添加,这时cacheClientB中的RadioInventory对象已过期。
时间 2:第二次更新失败
??cacheClientB尝试修改RadioInventory为一个新值,为了阻止将cacheClientA的更新覆盖,cacheClientB的更新将会失败。
悲观并发模型
??在悲观并发模型中,客户端显式锁定要执行操作的对象。其他请求锁定的操作(系统不阻止请求)被拒绝,直到释放锁定。当锁定对象时,锁定句柄返回为输出参数。解除对象锁定需要使用锁定句柄。 如果客户端应用程序在释放锁定对象前结束,则提供超时以释放锁定。锁定的对象永不过期,但如果超过过期时间,则锁定的对象可能在被解除锁定后立即过期。
过期和回收(Expiration and Eviction)
??AppFabric中,对象并不是一直驻留在内存中。除了显示使用Remove方法将其移除,还有可能过期机制或回收机制从缓存群集中去除。
过期机制(Expiration)
??缓存过期机制允许缓存群集自动从缓存中删除缓存对象。使用Put或Add方法时,有一个超时时间的可选参数,用来决定缓存在内存中的生存时间。如果缓存对象没有设置超时时间,命名缓存(Named Cache)中的配置将决定对象的生成时间。
??如果对象在并发时被锁,对象不会因到期时间而从内存中移除。但当并发锁解锁时,对象将立即从内存只移除。
本地缓存失效机制(local Cache Invalidation)
??一旦对象被下载到本地缓存,您的应用程序将一直使用这些对象,直到他们是失效,无论是否由另一个客户端上缓存群集更新这些对象。出于这个原因,最好是不经常变化的数据缓存到本地。有两种类型的本地缓存失效机制:基于超时的失效和基于通知的失效。
??将对象下载到本地缓存之后,这些对象将驻留在本地缓存中,直到其达到缓存客户端配置设置中指定的对象超时值。达到此超时值之后,对象将失效,以便下次请求时可以从缓存群集刷新。
基于通知的失效机制(Notification-based Invalidation)
??如果缓存客户端启用了本地缓存,则还可以使用缓存通知使本地缓存的对象自动失效。根据需要缩短这些对象的生存期,这样可以降低应用程序使用过时数据的可能性。
回收机制(Eviction)
??为了保持缓存主机的内存上面可以有足够的内存用于缓存数据,AppFabric使用LRU(最近最久未使用)算法,用一个界限值确保内存均匀分配在所有缓存主机中。
??当内存的使用率超过了界限值时,AppFabric将启动回收机制回收已过期对象。如果回心过期对象后,内存的使用率还在界限值之上,将使用LRU机制纠继续回收对象,不管对象是否已过期,直到将同存的使用率降到界限值以下。
指定过期和逐出设置
??过期和回收机制通过群集配置文件来设置。可以使用基于PowerShell的管理员工具来管理,另外以下方法允许你重写缓存的默认设置。
CreateRegion方法允许你启用和禁用域中对象的回收机制 Add和Put方法允许重写,可以指定过缓存中对象的过期时间 PutAndUnlock和Unlock方法允许重载,可以扩展对象解锁后的到期时间 ResetObjectTimeout 方法允许显示指定对象的生存时间,此方法重写缓存配置的设置
高可用性(High Availability)
??AppFabric的高可用性功能支持单独的缓存主机上存储数据的副本,使缓存数据持续可用。如果启用了群集的高可用性功能,应用仍然程序可以在群集中的部分缓存主机挂了的情况下取出数据。
??没有高可用性启用,AppFabric仍提供一些保护缓存数据的措施,对象不存储在是在域中,而是分布在集群的所有主机。由于分布式的特性,群集中的主机越多,因某一台机器故障而带来的数据访问问题会越少。
??仅管高可用性可以减少缓存主机和应用程序间的故障,但也有可能整个群集挂掉,所以应用程序设计时应该考虑到在没有缓存服务情况下的状态,毕竟缓存总有不存在的时候。
高可用性如何运行
??当启用高可用性功能时,每个独立的主机都保存了对象或域的复本。缓存群集管理维护这些复本,当主缓存数据失败时,会复本中的数据提供给应用程序。启用高可用性不会对编程方面产生任务影响。
如何保持一致性
??无论是否启用高可用性,支持缓存的应用程序都按照仅存在缓存对象主要副本的情况运行。所有的 Add、Put 和 Remove 方法调用都首先在主要对象上启动,无论他们位于哪个缓存主机上。对维护主要对象或区域的缓存主机启动调用之后,结果操作将因是否启用高可用性而异。
??如果启用高可用性,会增加一个步骤通知维护辅助副本的主机即将发生更改。然后,包含对象主要副本的缓存主机在等待来自另一主机的确认以后,向客户端回复操作完成确认。
??例如下列的示例,缓存主机 A 收到请求以后,会立即开始处理请求并向缓存主机 B 通知此更改。然后,缓存主机 B 向缓存主机 A 发送回复确认。当缓存主机 A 收到确认以后,会完成更改并向支持缓存的应用程序发送回复确认。此过程可确保对象或区域的辅助副本始终与主要副本处于同一状态。此过程称为非常一致:
性能注意事项
??维护缓存复本时必需识别所有主缓存的变化,这里有一些性能会消耗在复本的同步中。需要考虑当主缓存丢失后,重新加加载缓存复本的代价。有没有大神能帮我这个初学者解决一下windowsserverappfabric的配置问题,感激不尽啊!这两天被它搞死了,配置了一晚上也不行,###如果按照guide没有成功,请具体说明遇到什么问题##
问题描述有没有大神能帮我这个初学者解决一下windowsserverappfabric的配置问题,感激不尽啊!这两天被它搞死了,配置了一晚上也不行,解决方案解决方案二:如果按照guide没有成功,请具体说明遇到什么问题解决方案三:具体是什么情况?解决方案四:有什么问题?这个用命令行释放一下,就行了。。/jianyus/p/3287625.html参考一下解决方案五:首先,不要通过AppFabric的工具来配置,那样配置不好。然后,如果你是通过配置向导配置的SharePoint2013服务器场,那么SharePoint会自动给你配置。当SharePoint场建好后,你可以在管理中心-》管理应用程序-》管理服务里看到有个DistributedCache这个服务,开启它即可,如果你是用powershell完成配置SharePoint服务器场,有个选项是-SkipRegisterAsDistributedCacheHost,如果你添加了这个选项就表示不在当前服务器上配置Distributedcache,那么你可以运行这个命令来添加当前主机到AppFabric场:Add-SPDistributedCacheServiceInstance.这个命令会自动运行当前服务器上的Distributedcache服务实例。如果当前主机有问题,你可以运行:remove-SPDistributedCacheServiceInstance,把当前主机从AppFabric场里去掉,然后运行Add-SPDistributedCacheServiceInstance再添加进来当然,AppFabric的配置不是这么简单,只是最基本的添加删除配置。为了满足企业应用的需求,你需要计划一个服务器场里有几台运行Distibutedcache实例以及对该服务占用内存大小的配置。更多信息可参考:/library/jj219572.aspx解决方案六:引用4楼baidu_的回复:首先,不要通过AppFabric的工具来配置,那样配置不好。然后,如果你是通过配置向导配置的SharePoint2013服务器场,那么SharePoint会自动给你配置。当SharePoint场建好后,你可以在管理中心-》管理应用程序-》管理服务里看到有个DistributedCache这个服务,开启它即可,如果你是用powershell完成配置SharePoint服务器场,有个选项是-SkipRegisterAsDistributedCacheHost,如果你添加了这个选项就表示不在当前服务器上配置Distributedcache,那么你可以运行这个命令来添加当前主机到AppFabric场:Add-SPDistributedCacheServiceInstance.这个命令会自动运行当前服务器上的Distributedcache服务实例。如果当前主机有问题,你可以运行:remove-SPDistributedCacheServiceInstance,把当前主机从AppFabric场里去掉,然后运行Add-SPDistributedCacheServiceInstance再添加进来当然,AppFabric的配置不是这么简单,只是最基本的添加删除配置。为了满足企业应用的需求,你需要计划一个服务器场里有几台运行Distibutedcache实例以及对该服务占用内存大小的配置。更多信息可参考:/library/jj219572.aspx赞,请问是哪位大神?解决方案七:引用5楼FoxDave的回复:Quote: 引用4楼baidu_的回复:首先,不要通过AppFabric的工具来配置,那样配置不好。然后,如果你是通过配置向导配置的SharePoint2013服务器场,那么SharePoint会自动给你配置。当SharePoint场建好后,你可以在管理中心-》管理应用程序-》管理服务里看到有个DistributedCache这个服务,开启它即可,如果你是用powershell完成配置SharePoint服务器场,有个选项是-SkipRegisterAsDistributedCacheHost,如果你添加了这个选项就表示不在当前服务器上配置Distributedcache,那么你可以运行这个命令来添加当前主机到AppFabric场:Add-SPDistributedCacheServiceInstance.这个命令会自动运行当前服务器上的Distributedcache服务实例。如果当前主机有问题,你可以运行:remove-SPDistributedCacheServiceInstance,把当前主机从AppFabric场里去掉,然后运行Add-SPDistributedCacheServiceInstance再添加进来当然,AppFabric的配置不是这么简单,只是最基本的添加删除配置。为了满足企业应用的需求,你需要计划一个服务器场里有几台运行Distibutedcache实例以及对该服务占用内存大小的配置。更多信息可参考:/library/jj219572.aspx赞,请问是哪位大神?引用5楼FoxDave的回复:Quote: 引用4楼baidu_的回复:首先,不要通过AppFabric的工具来配置,那样配置不好。然后,如果你是通过配置向导配置的SharePoint2013服务器场,那么SharePoint会自动给你配置。当SharePoint场建好后,你可以在管理中心-》管理应用程序-》管理服务里看到有个DistributedCache这个服务,开启它即可,如果你是用powershell完成配置SharePoint服务器场,有个选项是-SkipRegisterAsDistributedCacheHost,如果你添加了这个选项就表示不在当前服务器上配置Distributedcache,那么你可以运行这个命令来添加当前主机到AppFabric场:Add-SPDistributedCacheServiceInstance.这个命令会自动运行当前服务器上的Distributedcache服务实例。如果当前主机有问题,你可以运行:remove-SPDistributedCacheServiceInstance,把当前主机从AppFabric场里去掉,然后运行Add-SPDistributedCacheServiceInstance再添加进来当然,AppFabric的配置不是这么简单,只是最基本的添加删除配置。为了满足企业应用的需求,你需要计划一个服务器场里有几台运行Distibutedcache实例以及对该服务占用内存大小的配置。更多信息可参考:/library/jj219572.aspx赞,请问是哪位大神?不敢当,只是做过几年SharePoint的无名小卒,刚注册:)解决方案八:我也是新手,环境跟你的一样,也遇过这个问题,但是很好解决。sharepoint的管理中心需要添加用户,必须要在AD域里面先添加用户,然后才能进行添加。如果你直接在sharepoint里面添加就会提示找不到这个问题。解决方案九:/love007/p/4554895.html参考一下,应该有用!
【云栖快讯】支撑千亿营收,阿里如何做研发?淘宝如何做敏捷实践?如何面对开发中的“黑天鹅”事件?6月29日首届阿里研发效能嘉年华,独家直播,赶紧预约吧!&&
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、PostgreSQL、高...

我要回帖

更多关于 word文件如何修复 的文章

 

随机推荐