+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Preventing Threading Problems When Using a Repository Under Progress OpenEdge

(combit Team) #1
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