调试时Sharepoint webpart多线程?

发布于 2024-11-09 18:11:04 字数 363 浏览 0 评论 0原文

我开发了一个表现出奇怪行为的网络部件。当我加载安装的页面时,它有时可以正常工作,有时会崩溃,但我找不到任何模式(对我来说似乎是随机的)。

当我调试它时,我看到有两个执行线程。 (调试光标总是在单独线程中的每个函数上经过两次)。怎么可能呢?

我希望这只是一个线程,而且我还怀疑这可能是随机崩溃的根源。知道从哪里开始发现这个错误吗?

编辑:

通过调试添加了两个屏幕截图

通过调试添加了两个屏幕截图

在此处输入图像描述

I've developed a webpart that presents a strange behaviour. When I load the page where is installed sometimes it works correctly and sometimes it crashes, but I can't find any pattern (seems random to me).

When I debugged it I saw that have two threads of execution. (The cursor of debug always passes two times over every function in separated threads). How can it be?

I want that only be one thread, and I also suspect that this could be the source of the random crash. Any idea where start to find this error?

EDIT:

Added the two screenshots with the debug

Added two screenshots with the debug

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

走过海棠暮 2024-11-16 18:11:04

这就是线程和共享变量的问题,如果不同步,你永远不知道什么时候会崩溃。首先,您必须找出为什么会有更多线程访问您的代码,如果您无法“删除”该行为,则必须使用锁或其他同步机制来同步对对象中共享的所有变量的访问。 (请小心中继,以免出现任何死锁)。

这里的重点是。如果您无法使代码在单步中运行,则必须同步对对象中变量的访问,这样事情就不会崩溃。

That is the problem with threads and shared variables, if you don't synchronize you never know when things crash. First off you have to find why you get more threads accessing your code, If you can not "remove" the behavior you will have to synchronize the access to all the variables that are shared in you object using locks or some other synchronizing mechanisms. (Be relay careful that you do not get any deadlocks doing that).

The point here is. If you are not able to make the code run in a single tread, you have to synchronize the access to the variables in the object so things will not crash.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文