小编Chu*_*ula的帖子

Microsoft.Web.Administration内存泄漏

有一个Windows服务,其中包括监视IIS应用程序池.如果任何池已配置应用程序且未运行,则启动它(池).这已经有一段时间了.最近发现该服务泄漏了内存.查看内存转储的罪魁祸首是用于检查应用程序池的Microsoft.Web.Administration.一次性使用的唯一对象是ServerManager,我在使用块中有这个对象.已找到有关此泄漏的其他报告但尚无解决方案.(请参阅http://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager(v=vs.90).aspx#CommunityContent中的用户评论)

转储Microsoft.Web.Administration.ServerManager(此转储中的481)的所有根时,我只看到其中一个根.假设这是当前的迭代.

不确定为什么这些Web.Administration对象无法收集,即使它们似乎没有根((?).有关如何堵塞这种泄漏的任何想法?

我将代码移动到控制台应用程序并在那里重现泄漏.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using Microsoft.Web.Administration;

namespace Web.Administration.LeakExample
{
    public static class ServerManagerExtensions
    {
        /// <summary>
        /// Returns the application counts for application pools under the specified ServerManager.
        /// Application pools without applications will not be returned.
        /// </summary>
        /// <param name="manager"></param>
        /// <returns></returns>
        public static Dictionary<string, uint> GetPoolApplicationCounts(this ServerManager manager)
        {
            if (manager == null)
            {
                throw new ArgumentNullException();
            }

            var appCounts = new Dictionary<string, uint>(manager.ApplicationPools.Count);
            foreach (var app …
Run Code Online (Sandbox Code Playgroud)

.net c#

5
推荐指数
1
解决办法
1190
查看次数

使用共享IP地址从IIS站点进行出站Web请求失败

  • IIS 7.5/Windows Server 2008 R2
  • 多个IIS站点使用主机名绑定到同一IP地址.
  • 工作正常的网站的入站流量.
  • 后端站点代码发出的出站Web请求失败.远程站点返回404(NotFound).
  • 通过网络跟踪验证流量是否已移至删除服务器.
  • 如果从使用专用IP地址的站点(即不与任何其他站点共享)完成相同的请求,则工作正常.

任何人都有任何关于如何使这项工作或可能出错的想法?

托管服务器上的网络跟踪:

来自非共享IP地址的站点的成功请求:

No.     Time            Source                Destination           Protocol Info
   6366 15:54:35.590463 192.168.1.76          173.194.77.121        HTTP     GET /key/value/one/two HTTP/1.1 
   6369 15:54:35.599879 173.194.77.121        192.168.1.76          TCP      http > 55407 [ACK] Seq=1 Ack=110 Win=344 Len=0
   6370 15:54:35.621587 173.194.77.121        192.168.1.76          HTTP     HTTP/1.1 200 OK  (application/json)
   6608 15:54:35.815774 192.168.1.76          173.194.77.121        TCP      55407 > http [ACK] Seq=110 Ack=357 Win=509 Len=0
Run Code Online (Sandbox Code Playgroud)

来自使用共享IP地址的站点的请求失败:

No.     Time            Source                Destination           Protocol Info
   9720 15:54:39.244192 192.168.1.80          173.194.77.121        HTTP     GET /key/value/one/two HTTP/1.1 
   9760 15:54:39.256958 173.194.77.121 …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net iis iis-7.5

5
推荐指数
1
解决办法
775
查看次数

标签 统计

.net ×2

c# ×2

asp.net ×1

iis ×1

iis-7.5 ×1