尝试添加现有/新项目时,收到诸如“无法访问已处置对象”之类的错误消息。为了解决这个问题,使该方法异步运行并得到解决,但由于打开项目后扩展出现一些延迟。在此方法中,首先出现“无法访问已处置对象”错误。
私有无效ProjectItemsEvents_AfterAddProjectItems()
{
}
使用异步方法后,扩展出现延迟。
private async void asynchronous ()
{
等待 System.Threading.Tasks.Task.Run(() => ProjectItemsEvents_AfterAddProjectItems();
}
需要知道,如何消除异步方法造成的延迟
您正在另一个不属于请求范围的线程中运行该操作。然后应用程序认为它已完成并处理线程需要的内容 - 这与延迟无关。
你可以这样做:
private async void asynchronous ()
{
ProjectItemsEvents_AfterAddProjectItems();
}
但是,这将被标记为警告,因为它不使用等待。
如果“ProjectItemsEvents_AfterAddProjectItems”中没有异步内容
private async void asynchronous ()
{
await Task.FromResult(ProjectItemsEvents_AfterAddProjectItems());
}