这个问题曾经有人问过 ,但是那是一年前的事情,我想知道自那以后有没有进展。 基本上我们想在Windows Server 2008 R2机器上使用MemCached服务器,显然这只是x64。 我还没有在Win64版本的MemCached上find任何细节,但仍然有来自上一个线程(我还没有尝试过)的解决scheme来使用运行MemCached 1.2.6的一个名为MemCacheD Manager的软件。 然而,目前版本的MCd是1.4.4 ,我想知道自那以来是否有任何改进。
我只是试图在IIS7中创build一个新的应用程序池,并为其框架版本指定3.5。 但是在框架版本中只有“v2.0.50727”或“没有托pipe代码”选项。 这怎么可能,我该如何解决呢?
我有一些perfmon性能计数器,我想跟踪一个特定的ASP.NET应用程序在一段延长的时间,比如一周或一个月。 问题在于,perfmon计数器通常是以stream程为中心的,而不是以ASP.NET应用程序为中心的,或者以AppPool为中心的。 所以,例如,我可以绑定柜台 .NET CLR Memory performance counters\# Gen 0 Collections 到一个特定的IIS工作进程(这令人讨厌的是,通过w3wp,w3wp#1,w3wp#2来识别 – 但为了解决这个问题,请参阅如何将'w3wp'进程名称转换为PID或用户名? w3wp#29) ),但我似乎无法将其绑定到“正在运行ASP.NET Application X或AppPool Y的任何进程,现在或未来”。这意味着,如果IIS回收工作进程,或者如果有人重新启动IIS,或重新启动计算机,那么我的perfmon日志不能指望跟踪相同的Web应用程序。 是否有一些技巧,即使工作进程(例如w3wp.exe)重新启动,机器重新启动等,使用perfmon来监视给定的webapp? 我在这里find了几个可能的答案,但是他们并不觉得100%正确(尽pipe我会解释为什么他们可能是正确的): 从如何设置Perfmon / Logman获取仅用于特定IIS进程的线程性能计数器? 我得到的印象是,也许我可以logging机器上所有单独的.NET应用程序的所有 “#Gen 0 Collections”计数,然后在事后抛出那些不相关的。 但是,首先我不知道如何logging所有应用程序的计数(注意:关键是,您需要“所有的应用程序,无论它们何时启动”,而不是“当您设置perfmon任务时启动的所有应用程序“),其次,我不知道如何追溯地告诉日志中的哪些数据与您的特定Web应用程序相对应 从如何使Perfmon自动跟踪IIS的多个站点相同的过程? 我得到的印象是,这可能可以通过一个脚本来解决,该脚本根据iisapp.vbs的输出,每隔一分钟左右继续调整perfmon计数器设置。 但是,这似乎不是一个很干净的方式来做到这一点。
每当ASP.NET向应用程序日志报告危险的查询string值,并且请求包含特定的字符组合; 事件查看器不会显示错误信息,只显示1或2个特殊字符。 点击“详细信息”选项卡可正确显示所有错误信息。 An example of a ASP.NET request that causes the behavior: http://localhost/default.aspx?modpagespeed=off%22%3E%3Cstyle%3E%3C/style%3E%3Cdiv%20style=%22display:block%22%3Eplease%20click%20%3Ca%20href=%22http://localhost/?modpagespeed=off 我在这里张贴的行为是从ASP.NET预计的; 但是我应该关心事件查看器常规选项卡上的显示错误? 这在我们的testing环境中是可重现的。 另外,每次打开事件时显示的特殊字符都不相同。
我一直在试图追查一个ASP .NET会话状态保持locking的状态的根本原因,因为一个意外的错误终止了Web请求。 我们使用SQL Server会话状态提供程序进行会话,因为我们在Web场中有多个服务器。 这个问题首先以许多请求的forms出现,没有明显的原因,这些请求被卡在生命周期的“AcquireRequestState”事件中。 我能够在SQL服务器的会话状态数据库中find相应的条目,这些条目都是locking的(列locking= 1)。 我还能够将这些请求与HTTP状态码为500(子状态为0)的IIS日志中的条目关联起来。 这些发现使我相信,在某些情况下,一个请求正在出错,但不会像应该的那样释放对会话状态的locking。 我在IIS中为状态码为500的网站启用了“失败的请求追踪”,其中所有可用的提供者都select了详细的“详细”设置。 自从我收集了几个导致永久lockingASP .NET会话的失败痕迹。 它们都具有相同的特征: 它们都是浏览器发布要处理/保存的数据的“POST”请求。 他们都有事件,表明'会话'模块在REQUEST_ACQUIRE_STATE事件中被调用。 此时,请求会将会话状态数据库中的行标记为“locking”。 这是正常的和预期的。 它们都具有GENERAL_READ_ENTITY_START,GENERAL_READ_ENTITY_END和GENERAL_REQUEST_ENTITY条目,这些条目似乎是在作为请求的一部分发布到服务器的数据中读取的。 这似乎是一个缓冲的操作,因为这些事件重复一遍又一遍地读取发布数据的一些子集。 在“读取实体”相关事件期间的某一时刻发生错误。 一些错误代码为“错误的函数(0x80070001)”,其他错误代码为“由于线程退出或应用程序请求(0x800703e3)”导致I / O操作中止。 一旦遇到错误,它们将直接跳转到END_REQUEST事件。 这里的问题是,在正常情况下,应该有一个RELEASE_REQUEST_STATE事件,它允许会话模块释放它在会话上的locking。 在这种情况下,此事件将被跳过。 可以肯定的是,我还启用了“200”状态代码的失败请求跟踪,并生成了几个成功请求的跟踪,这些请求确实通过Session模块处理了RELEASE_REQUEST_STATE事件。 我的理论在这一点是某种networking问题导致'不正确的function'和'I / O操作已被中止由于线程退出或应用程序请求'的错误,但我不明白为什么这似乎导致请求处理跳过RELEASE_REQUEST_STATE事件。 如果请求经历了REQUEST_ACQUIRE_STATE,那么它也应该也是RELEASE_REQUEST_STATE。 我不喜欢说这是IIS或ASP .NET中的一个错误,但是在这一点上它肯定会出现这种情况。 是否有任何configuration更改,可以帮助确保在所有错误情况下触发“RELEASE_REQUEST_STATE”?
我正在尝试在IIS6中configuration自定义错误。 我select了404错误,将下拉列表设置为“URL”,然后input这个URL作为URL“/404.aspx” 当去到: http://mysite.com/no-page-here 它发现404.aspx,但不会将其作为.Net页面进行处理 – 它将尝试将源代码作为XML文件提供,然后由于不会进行分析而失败。 404s可以在.Net页面上正常工作,因为我在web.config的CustomErrors元素中设置了它。 但对于非.Net资源,我必须使用IIS错误,并拒绝redirect到404页面。 它本质上是试图提供源代码。
我有一个连接string在我的asp.net代码看SQL Server 2005数据库。 我创build了一个名为WebUser的用户名,并在SQL Server 2005中授予他db_datawriter和db_datareader。在login和数据库下,用户必须能够读取并能够更新? 这是我所需要的还是正确的事情? 连接string将如下所示。 <add name="ConnectionStringName" connectionString="DataSource=localhost; Initial Catalog=DBName;User ID=WebUser; Password=mypassword; Integrated Security=FALSE" providerName="System.Data.SqlClient"/> </connectionStrings>
当serverfault处于testing阶段时,我在StackOverflow上询问了这个问题。 给它第二枪。 我在两个物理上分开的位置有4个服务器。 每台服务器都运行Windows Server 2003 Standard和Microsoft SQL Server 2005标准版。 数据中心A中的服务器A1和A2 数据中心B中的服务器B1和B2 这些服务器通过互联网与VPN相互连接。 在两个数据中心之间提供高可用性的最佳方式是什么? 我已经考虑了以下想法。 情景A 数据中心A和B之间的DNS循环 通过VPN镜像服务器A1和B1上的数据库 服务器A2和B2将作为热备份发送给他们作为灾难恢复。 所有的Web服务器都会将数据库通信量通过VPN指向服务器A1,直到发生故障转移,将请求发送到B1 服务器将运行Microsoft Load Balancer软件。 情景B 镜像服务器A1和A2上的数据库 A1和A2将运行Microsoft Load Balancer软件 B1和B2将运行Microsoft Load Balancer软件。 将运送到服务器B1和B2的日志作为热备份,以便在数据中心之间进行手动切换如果数据中心A发生故障,请将DNSlogging更改为指向数据中心B. 我是C#程序员,不是系统devise人员,所以我不知所措。 我正在尝试使用我们的硬件和数据中心configuration。 如有需要,我们可以购买硬件负载平衡器。
我有一个webservice /test/Service1.asmx在同一个文件夹作为一个页面/test/test.aspx 。 该网页工作正常,但我得到的消息在同一地点的服务。 我知道该文件在那里,url是正确的,我也添加了脚本模块和托pipe处理程序。 如果有人知道我在这里想念什么,我会很感激 “/”应用程序中的服务器错误。 无法find该资源。 说明:HTTP 404.您正在查找的资源(或其某个依赖项)可能已被删除,名称已更改或暂时不可用。 请检查以下URL并确保拼写正确。 请求的URL:/test/Service1.asmx 版本信息:Microsoft .NET Framework版本:2.0.50727.4200; ASP.NET版本:2.0.50727.4016 失败的请求日志:ModuleName ManagedPipelineHandler通知128 HttpStatus 404 HttpReason未findHttpSubStatus 0 ErrorCode 0 ConfigExceptionInfo 通知EXECUTE_REQUEST_HANDLER ErrorCode操作已成功完成。 (为0x0)
我们目前在单个应用程序池中有大约600个.net站点。 我们开始摆脱内存exception,必须回收应用程序池来解决问题。 我知道每个网站都有独立的应用程序池是一个好主意,但是我不确定在同一台服务器上拥有600多个应用程序池是否现实。 我们还将每月增加30多个新网站。 我的问题是: 每个应用程序池应包含多less个网站? 我应该坚持每个服务器有多less个应用程序池(特别是Windows Server 2008标准,双至强2.53,8内存64位) 另外,这些站点在两台服务器之间进行负载平衡。