Articles of asp.net

从IIS6移动到IIS7时,性能下降令人难以忍受

我们最近将我们的ASP.NET 4.0应用程序从Windows2003 x64 / IIS 6 VM迁移到新的Windows 2008 x64 RC2 / IIS 7(7.5)VM。 资源是相同的4GB内存,4个CPU,都在同一个ESX主机上。 我试图匹配每一个可以想象的iisconfiguration设置,caching,压缩等二者之间。 尽pipe如此,根据alertsite和gomez的外部performance监测,响应时间自交接以来翻了一番。 “第一个字节的时间”平均值已经增加了几分之一秒。 “内容”交付时间全面增加了一秒。 “整页下载”全面增加了几秒钟。 为了进一步解决问题,我们开始使用双节点windows2008服务器场,使用ncache进行群集会话,并使用锦缎负载均衡器,并且响应时间增加了2-5倍。 然后,我们放弃了只有一台服务器,并绕过负载平衡器,以回复时间增加2倍。 负载平衡器使事情变得更糟,大部分响应时间在内容/基本页面和整页下载指标中增加,这使得我认为它与networking有关,或者至less在IIS级别,根本不像IIS6那样快。 我希望我忽略了一些关键设置,因为我无法理解如何同时升级操作系统和加倍资源(添加第二个节点)导致更糟的性能。 我意识到这是没有太多的信息,所以我只是寻找任何build议,看看或如何诊断。 build议在哪个perfmon柜台看,寻找什么和他们的意思会有所帮助。 狂野的猜测欢迎。

在IIS 7.0中诊断长时间运行的请求的原因

我们在IIS 7.0,Windows Server 2008 R2和SQL Server 2008 R2 for DB上运行ASP.NET Web应用程序。 在周末,当stream量很高时,IIS服务器中的请求队列长度会增加(多达800个请求),然后每隔一分钟左右就会下降。 我可以看到,服务器正在处理一些请求,根据IISpipe理器中的“当前请求”视图,这些请求长时间运行(时间经过值从20到50秒)。 这些要求并不一定是沉重的疑问,实际上,我不明白他们为什么要这么长时间。 是否因为客户端正在closures他的连接? 谢谢你,谢洛米

使用Safari浏览器查看时,IIS6网站“中断”

我有一个应用程序正在IIS 6.0上使用已经运行多年的ASP.NET 4.0 Webforms。 最近部署到应用程序导致了一些非常随机的(对我们来说)Safari浏览器(不是任何其他浏览器)的间歇性问题。 服务器重新启动后,应用程序似乎在一段时间内工作正常,但随后会“断开”。 它是100%的服务器级别,因为它在所有计算机上都能find,直到它“中断”。 一旦被破坏,就会在运行该版本的Safari的每台计算机上发生故障。 它改变了Safari版本,或者在http和https之间切换,它将再次工作,直到该版本“中断” 看起来中断是与发送给服务器的头文件相关联的。 一旦“中断”它有问题与CSS应用于ASP.NET控件,addhistory方法抛出javascript错误,因为它找不到__dopostback函数。

我怎样才能find一个400:错误的请求Web服务调用本地主机的原因?

这是在运行IIS的Windows Server 2003上。 我有一个ASP.NET 2.0的网站,也承载一些networking服务。 当网站对自己(本地主机)进行web服务调用时,我得到一个404:错误的请求。 我希望看到实际的请求进入IIS,但我想不出办法做到这一点。 Wireshark由于是本地主机,所以不起作用,Fiddler是无用的。 我无法修改/重新部署代码,但是如果需要的话,我可以重置机器。 build议?

在IIS7.5和8.0之间共享ASP.NET状态服务会话不起作用

我有一个由5台运行IIS 7.5的Server 2008R2机器组成的Web场。 所有这些都使用一个单独的,运行ASP.NET State Service的服务器(这个也运行2008 R2)共享会话状态。 一切都很好。 不过,我现在添加了第六台服务器,这个服务器运行的是2012 / IIS 8.0。 对于我的生活,我无法让这台服务器与其他服务器共享会话状态。 machineKeyconfiguration完全相同(匿名): <machineKey validationKey="XYZ" decryptionKey="ZYX" validation="SHA1" /> 应用程序ID在所有服务器上是完全相同的(我们运行多个网站,但都具有以编程方式创build的ID,configuration是相同的,并在运行时validation): /LM/W3SVC/10351/ROOT 所有网站也有相同的AppPath,也在运行时validation: D:\SomeSite\SomApp\ 会话configuration也完全一样: <sessionState mode="StateServer" partitionResolverType="MyStateServerPartitionResolver" stateNetworkTimeout="30" timeout="20" /> MyStateServerPartitionResolver类非常简单,只是抽象的事实,我们通过我们自己的configuration加载连接string(connectionString值是相同的所有服务器上,也validation): public class MyStateServerPartitionResolver : IPartitionResolver { private string connectionString; public void Initialize() { connectionString = ConfigSettings.StateServerConnectionString; } public string ResolvePartition(object key) { return connectionString; […]

设置为.NET 2.0和集成pipe道时,IIS应用程序池将立即崩溃

我们最近开始遇到一个问题,那就是我们的所有应用程序池设置为.NET 2.0和集成模式在启动后立即崩溃。 没有任何东西使它对IIS日志,但HTTPERR日志每次显示相同的东西: Line 2084: 2013-11-15 01:33:39 10.71.21.242 57020 192.168.16.26 80 HTTP/1.1 GET / – 129 Connection_Abandoned_By_ReqQueue test 我已经运行了DebugDiag并点击了该网站,并且据我所知,找回了一些相对无用的信息: In w3wp__test__PID__5196__Date__11_14_2013__Time_03_16_34PM__253__Second_Chance_Exception_E0434352.dmp the assembly instruction at KERNELBASE!RaiseException+3d in C:\Windows\System32\KERNELBASE.dll from Microsoft Corporation has caused a CLR Exception on thread 8 该线程的堆栈跟踪: Full Call Stack Function Arg 1 Arg 2 Arg 3 Arg 4 Source KERNELBASE!RaiseException+3d 000007fe`f9c6839c […]

IIS6通配符映射到ASP.NET – IIS 404中没有文件扩展名

我试图执行我所理解的相对简单的任务。 我想从我网站上的url中删除附加信息。 我在我的应用程序中正确设置了处理和重写URL – 麻烦的是我无法通过IIS来实际得到我的应用程序没有扩展名。 细节: 我正在Windows Server 2003上运行IIS6。我进入了我的应用程序的网站,进入主目录选项卡,单击“configuration”,并添加通配符映射到以下文件: c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll 我所validation的是与.ascx等应用程序扩展部分中使用的相同。 如果我导航到http://mywebsite.com/Blogs ,结果如下: HTTP/1.1 404 Not Found Content-Length: 1635 Content-Type: text/html Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET Date: Thu, 14 Jan 2010 15:04:49 GMT 这似乎是一个标准的IIS 404消息。 如果我导航到http://mywebsite.com/Blogs.aspx我得到我的ASP.NET应用程序…. 我怎样才能解决这个问题? 我觉得我已经加倍检查了十几次,但无济于事。 我必须失去一些明显的东西。 更新:这里是我正在使用的asp.net url重写器给出的确切说明: IIS 6.0 – Windows 2003 Server 打开网站/虚拟目录的属性页面。 点击“主目录”标签 点击“configuration”button,select“映射”选项卡 单击“通配符应用程序映射”部分旁边的“插入” 浏览到aspnet_isapi.dll(通常在c:\ windows \ microsoft.net \ […]

我应该怀疑这个querystring?

我在应用程序事件日志中注意到一些错误: Exception message: A potentially dangerous Request.QueryString value was detected from the client (term="DTİNST32") Request URL: http://domain.com/url.aspx?term=DTNT AUTHORITY\NETWORK SERVICE%233043/6/2010 6:41:33 PMBNST32 这种请求试图做什么?

使用mod_aspdotnet在Apache 2.2上configurationASP.NET MVC2

试图让一个Microsoft MVC2网站运行在使用mod_aspdotnet模块的Apache 2.2 web服务器上(运行在Windows上)。 有几个ASP.NET虚拟主机正在运行,试图添加另一个。 MVC2 没有默认页面(如MVC的第一个版本,例如default.aspx)。 我已经尝试了对config的各种更改:将“DirectoryIndex”注释掉,将其更改为“/”。 设置“ASPNET”为“虚拟”,不会加载第一页,总是得到:'403禁止,您没有权限访问/在此服务器上。 下面是从我的http.conf: LoadModule aspdotnet_module "modules/mod_aspdotnet.so" AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo <IfModule aspdotnet_module> # Mount the ASP.NET /asp application #AspNetMount /MyWebSiteName "D:/ApacheNET/MyWebSiteName.com" Alias /MyWebSiteName" D:/ApacheNET/MyWebSiteName.com" <VirtualHost *:80> DocumentRoot "D:/ApacheNET/MyWebSiteName.com" ServerName www.MyWebSiteName.com ServerAlias MyWebSiteName.com […]

将静态子域添加到网站的build议方法是什么?

我想创build一些静态子域名,如: mycategory.mydomain.com 在一个相当小的网站,并希望它指向该文件夹: mydomain.com/mycategory 而不在浏览器地址栏中显示这样的redirect。 什么是最简单的方法来实现它? 我可以在IIS设置,asp.net,C#代码等 我想有更好的方法,然后在IIS中创build几个单独的站点 – 每个子站点一个。