У меня есть некоторые проблемы с параллелизмом при использовании DLLImport, у меня есть Dll, который предоставляет некоторый отчет, который мне нужно отправить через Интернет, поэтому у меня есть это:
[DllImport("Rep.dll", EntryPoint = "PrintRep", CallingConvention = CallingConvention.StdCall,
CharSet = CharSet.Ansi)]
private static extern string PrintRep(several params...);
А на стороне Dll есть множество переменных и экземпляров, которые затем возвращают путь с отчетом.
У моего кода теперь есть блокировка вызова PrintRep, которая работает, но, очевидно, заставляет ждать отложенные запросы, есть ли способ, чтобы это работало без блокировки? Потому что, если я снимаю блокировку, я получаю несколько ошибок «Попытка записи в защищенную память», и Dll в конечном итоге зависает.