【问题标题】:Intermittent webservice error间歇性网络服务错误
【发布时间】:2011-01-05 03:42:43
【问题描述】:

我的 web 服务首先产生“服务不可用”错误,然后当我重新启动 IIS 服务时它就可以工作了。当我检查事件日志时,我发现这个错误涉及 ASP.NET 2.0.50727.0

事件代码:3005 事件消息:发生未处理的异常。 活动时间:1/13/2010 5:31:02 PM 活动时间(UTC):1/13/2010 10:31:02 PM 事件 ID:a3f163d4529d4e7389fd9828ef75a5f3 事件顺序:2010 事件发生:2 事件详情代码:0

申请信息: 应用域:/LM/W3SVC/337954533/Root-1-129078638848593750 信任级别:完全 应用程序虚拟路径:/ 应用路径:C:\Inetpub\wwwroot##\ 机器名称:MU

工艺信息: 进程 ID:6096 进程名称:w3wp.exe 帐号名称:NT AUTHORITY\NETWORK SERVICE

异常信息: 异常类型:TargetInvocationException 异常消息:调用的目标已引发异常。

请求信息: 请求 URL:https://www.##.com:443/AccountList.aspx?type=RklYRUQgREVQT1NJVA1/13/2010 5:31:02 PMd1/13/2010 5:31:02 PMd-ch1BLi4bsZQ1/13/2010 5:31:02 PMd 请求路径:/AccountList.aspx 用户主机地址:##.##.##.## 用户:
是否经过身份验证:假 身份验证类型:
线程账户名:NT AUTHORITY\NETWORK SERVICE

线程信息: 线程 ID:7 线程帐户名称:NT AUTHORITY\NETWORK SERVICE 是否冒充:假 堆栈跟踪:在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 在 System.RuntimeMethodHandle.InvokeMethodFast(对象目标,对象 [] 参数,签名 sig,MethodAttributes 方法属性,RuntimeTypeHandle typeOwner) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object[] 参数,CultureInfo 文化,布尔型 skipVisibilityChecks) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj,BindingFlags invokeAttr,Binder binder,Object[] 参数,CultureInfo 文化) 在 System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod 方法,布尔 disposeInstance,Object& 实例) 在 System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments 参数) 在 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 参数,DataSourceViewSelectCallback 回调) 在 System.Web.UI.WebControls.DataBoundControl.PerformSelect() 在 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() 在 System.Web.UI.WebControls.GridView.DataBind() 在 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() 在 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() 在 System.Web.UI.Control.EnsureChildControls() 在 System.Web.UI.Control.PreRenderRecursiveInternal() 在 System.Web.UI.Control.PreRenderRecursiveInternal() 在 System.Web.UI.Control.PreRenderRecursiveInternal() 在 System.Web.UI.Control.PreRenderRecursiveInternal() 在 System.Web.UI.Control.PreRenderRecursiveInternal() 在 System.Web.UI.Control.PreRenderRecursiveInternal() 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

【问题讨论】:

    标签: web-services iis-6 asp.net-2.0


    【解决方案1】:

    您可能需要检查应用程序池的回收/内存设置。当内存对象变得太大并且应用程序池开始阻塞时,我遇到了类似的错误。您可能还想下载 IIS 调试诊断工具:

    http://support.microsoft.com/kb/919789

    【讨论】:

    • 问题是,就系统日志而言,没有任何 IIS 服务停止。
    • IIS 服务本身不会停止。发生的情况是异常(某处)导致 w3wp.exe 进程崩溃。这会使 W3SVC 保持不变,但应用程序会自行关闭。您也可以尝试在应用程序池属性中禁用“快速故障保护”以缓解症状,但这只会掩盖真正的问题。
    • 我想最好的方法是 1. 一旦我的 web 服务的工作进程变大,配置应用程序池的回收 2. 仔细检查代码并确保正确使用和处置对象..有什么建议吗?
    • 太多,无法在此处列出。很多事情都可能导致这种情况。在我的情况下,它是一个相当大的会话对象,它有内存泄漏(在每次页面查看时不断添加到自身)。我的直接解决方案是将会话状态从 InProc 分离到 StateServer,但这只会延迟问题。调试诊断是我如何追踪它在做什么。但是要有耐心。它捕获了很多信息。
    猜你喜欢
    • 1970-01-01
    • 2013-11-18
    • 2012-08-22
    • 2021-12-01
    • 1970-01-01
    • 2010-12-02
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多