Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SharePoint应用程序页面-为什么try-catch不起作用?_Sharepoint_Error Handling - Fatal编程技术网

SharePoint应用程序页面-为什么try-catch不起作用?

SharePoint应用程序页面-为什么try-catch不起作用?,sharepoint,error-handling,Sharepoint,Error Handling,我的应用程序页面无法正常工作。在错误日志中,我可以找到以下内容: Detected use of SPRequest for previously closed SPWeb object. Please close SPWeb objects when you are done with all objects obtained from them, but not before. 在代码隐藏中的应用程序页面中,所有代码片段都位于try-catch块中。 问题是为什么当日志中描述的这种情况出

我的应用程序页面无法正常工作。在错误日志中,我可以找到以下内容:

Detected use of SPRequest for previously closed SPWeb object.  Please close SPWeb objects when you are done with all objects obtained from them, but not before.
在代码隐藏中的应用程序页面中,所有代码片段都位于try-catch块中。 问题是为什么当日志中描述的这种情况出现时,控件不去捕捉station?相反,内部SharePoint错误显示在屏幕上


关于

它不会进入catch块的原因是因为记录的消息只是一个警告,它不会中断代码的执行


它不会进入catch块的原因是,正在记录的消息只是一个警告,它不会中断代码的执行


当您尝试最终捕获时,使用SPRequest的SharePoint对象是有趣的bug,特别是当您从当前上下文中获取SPRequest时,或者您已经失去了对对象的跟踪。请粘贴一个代码示例供我们查看,我可能会在几秒钟内告诉您出了什么问题。问题是我有很多行,不知道在哪里会出现这种情况。使用和处置搜索关键字。你一定处置了一个不该处置的对象。你也可以试试这个工具:@Goglue:如果他在一个对象上手动调用了Dispose,然后试图重用它,我不确定SPDisposeCheck是否会接受这个。。。2分钟,我将测试-编辑:确认。如果您调用SPWeb.Dispose,然后执行类似于获取SPWeb.Title的操作,那么DisposeCheck不会抛出错误。@克里斯:您是如何开发应用程序页面的?写了几百行代码,然后希望它能工作?它一定工作到了某一点,例如,某个特定的方法可能会破坏它。当您尝试最终捕获时,使用SPRequest的SharePoint对象是有趣的错误,特别是当您从当前上下文中获取SPRequest,或者您失去了对对象的跟踪时。请粘贴一个代码示例供我们查看,我可能会在几秒钟内告诉您出了什么问题。问题是我有很多行,不知道在哪里会出现这种情况。使用和处置搜索关键字。你一定处置了一个不该处置的对象。你也可以试试这个工具:@Goglue:如果他在一个对象上手动调用了Dispose,然后试图重用它,我不确定SPDisposeCheck是否会接受这个。。。2分钟,我将测试-编辑:确认。如果您调用SPWeb.Dispose,然后执行类似于获取SPWeb.Title的操作,那么DisposeCheck不会抛出错误。@克里斯:您是如何开发应用程序页面的?写了几百行代码,然后希望它能工作?它必须工作到某个点,例如某个特定的方法可能会破坏它。如果错误消息是准确的,则这是SharePoint,因此,可能不是这样的,而是说有人试图使用以前处理过的SPWeb对象——SPDisposeCheck没有注意到这一点,我想它会检查垃圾收集器,看看.NET应该处理什么,如果它看到其中有SharePoint对象,就会发出尖叫声。这就是SharePoint,因此,我不再感到惊讶:-如果错误消息是准确的,这是SharePoint,所以可能不是,那么它是说有人试图使用以前处理过的SPWeb对象-SPDisposeCheck没有接收到该对象-我认为它会检查垃圾收集器,以查看.NET应处理的内容,如果它看到里面有SharePoint对象,就会发出踢踏声和尖叫声。它就是SharePoint,所以我再也不会感到惊讶了:-