Articles of asp.net

IIS / ASP.NET:如何pipe理(部分)输出caching?

我正在增加大量的部分输出caching到一个相当繁忙的网站。 我如何pipe理这个? 例如有什么办法可以清除caching,如果有些事情出错了? 服务器重新启动刷新输出caching吗? 我在IIS6上运行Asp 3.5。 Microsoft Server 2003。

为什么我在IIS 6的网站的根域中获取404?

我有一个客户端在我们的服务器上设置SiteMinder,我需要添加一个Web应用程序到网站的根目录。 当他们浏览login.url.com时,他们将其redirect到他们的服务器,validation用户身份,然后返回到我的IIS中的404页面。 我将Default.aspx和应用程序文件放置在默认网站以及siteminderagent虚拟目录中,但仍然收到404错误。 我怎样才能找出这个应用程序在哪里用404登陆? 另外,我在服务器上安装了.NET 3.5,应用程序是.NET 3.5,但是即使在安装之后,它也只能在默认网站的属性窗口中显示2.0xx …我是否需要更改?

IIS7 – 如何将应用程序放置在应用程序网站的文件夹中

我有一个博客(一个asp.net应用程序)的静态网站,博客是在网站的子目录中,所以: example.com/等 – 都是静态文件 example.com/blog等 – 全部转到博客应用 我正在将网站的静态部分升级到dynamic网站(也是一个asp.net应用程序),并且该博客与新应用程序不兼容(该应用程序需要在web.config中加载的处理程序和模块,博客) 此外,我必须保持所有的旧url相同 – 所以我不能将博客移动到一个子域或新的应用程序到一个文件夹和博客生成基于其文件夹的链接,所以聪明的redirect技巧将无法正常工作。 有没有办法将asp.net应用程序放置在另一个应用程序(作为实际或虚拟文件夹)的文件夹中,以便根web.config设置不适用于应用程序文件夹? 或者我没有想到的其他一些技巧? 系统在Windows Server 2008 64位上运行IIS7,我完全控制了服务器的configuration。 我无法修改博客的源代码,但我可以编辑其web.config和其他configuration。 我可以修改新应用程序的源代码,但是我不能使其与博客兼容(其大部分实用性来自与博客不兼容的第三方库)。 在一个asp.net 3.5 webforms应用程序的博客 新的根应用程序是一个asp.net 4.0 mvc应用程序

IIS 7 Windows身份validation错误的用户

IIS 7,集成应用程序池,标识设置为NetworkService 我们最近把一个asp.net MVC 3移到了我们的生产环境中。 应用程序使用Windows身份validation。 生产环境是在IIS 7上运行Win 2008的Web场上设置的(不确定是否为R2)。 有两台服务器configuration为运行Web应用程序。 我们已经有两次(相隔约一周),用户被authentication为不同的用户,而不是他们自己。 检查IIS日志,似乎在某种程度上,所有的请求都被authentication为一个特定的用户。 在日志中还有X-ARR-LOG的条目,这显然是应用程序请求路由模块(不知道是否相关,但更多的信息可能会有所帮助..)。 我的networking背景不是很强大,但我们的networking资源并没有find任何运气。 是否有任何诊断工具可以运行,以查看问题可能来自哪里? 是否有可能在Web场上错误地configuration了某些可能导致此问题的内容? 一个重要的因素是,在IIS日志中,有一个不通过asp.netpipe道的简单html页面的请求,以及上述用户请求的日志中的请求。 所以看起来问题出现之后,所有请求似乎都在相同的用户帐户下进行身份validation。 欣赏任何帮助,你可以提供的提示 更新: 详细说明我们如何确定不同用户作为一个用户进行身份validation… 在IIS日志中,我们正在查看根据文档,由IIS设置的cs-username列。 我们可以看到来自不同IP地址的不同请求,在不同的地方有相同的cs-username。 在日志中,所有请求都有不同的cs-username,直到突然间,所有的请求都来自同一个cs-username。 我们已经能够通过将服务器带出服务器场并回收应用程序池来重置此问题。 不清楚具体哪一个帮助我们“重置”了这个问题。 还提到一些请求是一个纯HTML页面,这不通过的asp.netpipe道,(相信它被监控工具,因为它被称为sitecheck.html使用),这些请求突然有相同的cs-username。 此外,应用程序本身使用WindowsIdentity来显示用户特定的数据,这就是导致我们更深入地研究问题的原因。

EC2托pipe的asp.net不稳定

我将我们的虚拟主机移到Amazon EC2。 起初一切运转良好。 在过去的几天里,我得到这个错误: The requested name is valid, but no data of the requested type was found 这似乎是一个DNS问题,我不知道如何处理这个问题。 有没有人从EC2实例中看到这个错误? 更多信息:这是一个Windows实例。 查找是当前机器的反向查找。 这个callstack看起来像这样: SocketException (0x2afc): The requested name is valid, but no data of the requested type was found] System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) +7987115 System.Net.Dns.GetHostAddresses(String hostNameOrAddress) +544 ClientDependency.Core.UriExtensions.IsLocalUri(Uri uri) +184

ISA或IIS发布时删除HTTP授权标头

我正在开发Web API通过使用Asp.Net WebApi(RC)和通过HTTP“授权”标头传递用户凭据。 我在服务器端收到“Authorization”http头时遇到了麻烦。 我能够在本地机器上testing时收到它。 在生产服务器上托pipe并通过内部IP地址访问URL时甚至可以正常工作。 但在公共领域发布时不起作用。 所以我猜,这与IIS或ISA服务器有关。 另外,如果我在IIS中创build了两个网站,一个发布在域和一个内部(都指向相同的物理目录),那么它也可以在内部托pipe的网站上工作,但不在公开发布的网站上工作。 所以我想这与ISA服务器(我是非常新的ISA服务器)有关,但不知道它是否可以修改http头信息。 任何帮助赞赏。 谢谢,

网站加载完全从本地主机,但3或4小时后,不从远程计算机加载,直到重新启动iis

我在IIS 7.5和Windows Server 2008 R2上有一个Web应用程序。 它完全从本地加载,但是3或4小时之后才从远程计算机加载直到重新启动iis或回收池。 这个网站的用户大约有900人。 我的一些设置池:.Net框架工作版本:v2.0pipe理pipe道线路模式:集成启用32位应用程序:true 身份:pipe理员空闲超时:120 加载用户configuration文件:false 启用快速失败保护:false禁用回收以更改configuration:true 我在错误日志C:\ WINDOWS \ system32 \ LogFiles \ HTTPERR中看到很多情况 其中一些非常频繁: Connection_Dropped系统 Timer_ConnectionIdle Timer_MinBytesPerSecond 如何编译这些错误? 那是什么意思? 我在事件查看器中经常遇到这个错误:服务应用程序池“系统”的进程遭遇了与Windows进程激活服务的致命通信错误。 进程ID是“8208”。 数据字段包含错误编号。

在URL中拖尾点导致IIS上的空404页面

我在IIS8上有一个ASP.NET站点,但IIS7.5的行为完全相同。 当我input一个URL如: mysite.com/foo/bar.. 我得到以下错误与'500内部服务器错误'状态代码: 即使我有自定义错误页面设置为500和404,我没有看到我的自定义错误页面有什么问题。 在我的web.config system.web节点中,我有以下几点: <customErrors mode="On"> <error statusCode="404" redirect="/404.aspx" /> </customErrors> 如果我删除该部分,我得到一个404.0响应,但页面本身是空白的。 在web.config system.webServer我有: <httpErrors errorMode="DetailedLocalOnly"> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" prefixLanguageFilePath="" path="404.html" responseMode="File" /> </httpErrors> 但是不pipe有没有,我得到相同的空白404.0页面,而不是我预期的自定义错误页面,或至less一个内部IIS消息。 所以首先,为什么asp.net处理程序会提取“..”的请求(也可以使用一个或多个尾随点) 如果我从applicacationHost.config中删除以下处理程序: <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" /> 我得到了我的预期的自定义404页面,但当然删除该处理程序打破了asp.net中的路由等等。 看看我看到的失败痕迹: Windows身份validation已禁用该站点,那么为什么该模块甚至在请求pipe道? 现在我的修补程序是使用以下规则使用URL重写模块: <rewrite> <rules> <rule name="Trailing Dots" stopProcessing="true"> <match url="\.+$" /> <action […]

无法在Windows Server 2012上运行WCF服务(.SVC)

我有一台服务器与Windows Server 2012; 不过,我无法运行svc文件。 我能够运行asmx文件。 我决定我想弄清楚如何运行svc文件。 我试过这个链接的内容: http : //msdn.microsoft.com/en-us/library/ms732012(v=vs.110).aspx 但是,这并没有解决我的问题。 我决定也尝试使用aspnet_regiis.exe我; 但是,我得到一个错误,所以现在我的asmx文件不工作。 经过大约5个小时的谷歌search,试图找出这一点,我试图从服务器卸载.net,我重新安装它( http://blogs.technet.com/b/askcore/archive/2014/04/24/removing -net-framework-4-5-4-5-1-removing-windows-2012-2012r2-ui-and-other-features.aspx ),希望能回到最初的样子。 那对我来说失败了。 所以现在我去这个链接使用graphics界面(这是我第一次尝试) https://stackoverflow.com/questions/14495429/alternative-for-the-registering-asp-net-4-5-在窗口服务器2012 但是当我尝试按照他的步骤,我得到这个错误: 编辑:为了澄清这使我在一个recursion循环,它会给我这个消息,一旦我重新启动它会再次给我这个消息。 https://www.jrssite.com/wordpress/?p=191 经仔细检查,我有以下错误: 无法安装计数器string,因为无法打开或访问SYSTEM \ CurrentControlSet \ Services \ ASP.NET_64_2.0.50727 \ Performance项。 数据部分中的第一个DWORD包含Win32错误代码。 为服务ASP.NET_64_2.0.50727(ASP.NET_64_2.0.50727)安装性能计数器string失败。 数据部分中的第一个DWORD包含错误代码。 那么我决定检查没有64后缀的ASP.NETregistry。 所以我决定尝试使用lodctl自己添encryption钥。 ( http://blogs.msdn.com/b/tom/archive/2008/04/11/asp-net-performance-counters-missing.aspx ) 基本上,没有任何工作,我彻底难倒了。 所有我想要的是我的svc文件和我的asmx文件可以从网上看到。 任何帮助,将不胜感激。

MySql成员资格提供程序 – 缺less或不正确的模式

我们有一个使用.net连接器在IIS 7.5上运行的带有MySQL数据库的ASP.NET站点,会员/angular色提供程序正确设置在web.config中,并且可以正常工作 – 但只是暂时的。 从历史上看(.net连接器6.7.4.0及之前的版本),在恢复站点备份(包括成员资格表)后,我们总是遇到问题,页面上会显示错误信息,说明我们对成员资格提供者有“缺失或不正确的模式”是无稽之谈,因为我们可以在DB中清楚地看到表格。 为了解决这个问题,我们只需从数据库中删除成员表,在web.config中设置autogenerateschema = true,让angular色提供者再次自动生成表。 然后,我们可以从我们的备份(相同的备份!)恢复,并用我们现有的帐户覆盖新的空白表,一切工作正常。 我们认为这只是一个与.net连接器的怪癖,因为它只发生在从备份中恢复数据库之后,我们并没有太多的困扰。 现在我们已经升级到.net连接器6.9.4.0我们遇到同样的问题,只是更糟,因为现在如果应用程序池重新启动该网站,它会触发相同的“缺less或不正确的模式”的消息,我们已经应用以上修复。 做一些改变web.config的操作会触发一个应用程序池周期,这意味着我们无法在不下载站点的情况下对web.config进行更改! 这是来自web.config的angular色提供者,省略了一些细节,除了手动更新版本号以外,从来没有改变。 <roleManager defaultProvider="MySQLRoleProvider" enabled="true"> <providers> <clear /> <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.9.4.0, Culture=neutral, PublicKeyToken=xxxxxx" applicationName="xxxxx" connectionStringName="xxxxxx" autogenerateschema="True" /> </providers> </roleManager> 需要注意的是,在触发该错误并应用我们的修复程序之后,我们从完全相同的备份恢复成员表,这意味着修复前后的表是相同的,所以它不是数据库的问题,它是一些内部IIS的状态。