Valid from List & Label 23
To avoid threading problems when using a repository under Progress OpenEdge, apply the [SingleThread] attribute from the combit.ListLabel??Repository namespace to the repository class. The hurdle here: OpenEdge itself does not support any attributes.Since OpenEdge only implements the interface, but the attribute itself cannot be set, a solution may look like this:
Create a dummy class that sets the attribute:
namespace LuL.OpenEdgeRepository
{
[combit.ListLabel23.Repository.SingleThreadedAttribute]
public class SingleThreadedRepository
{
public SingleThreadedRepository ()
{
}
}
}
An OpenEdge ABL repository then implements the IRepository interface and inherits from the dummy class:
CLASS ListLabel.OpenEdgeRepository.OpenEdgeRepositoryModel IMPLEMENTS IRepository INHERITS LuL.OpenEdgeRepository.SingleThreadedRepository:
IDKBTE001361 KBTE001361