Мне нужен мой Сервис для обновления полей в общей памяти, чтобы клиентское приложение могло их читать и отображать.Я обнаружил, что мое текущее решение неэффективно из-за изоляции сеанса 0 .
Я переименовал mutex
es в глобальном пространстве имен, которое исправляет этот элемент, но неПохоже, что DLL будет доступен для совместного использования между сеансами, несмотря на одно решение для изоляции сеанса 0:
"Явно выберите либо локальное \, либо глобальное \ пространство имен для любых именованных объектов, таких как события илиотображенная память, которую служба делает доступной. "
Я не знаю, какая часть библиотеки DLL может быть классифицирована как именованный объект, и потребуется слишком много времени, чтобы ее переустановить и пройти через неепроверить.
Я увидел тома кода для именованных каналов и был отложен.Я не хочу создавать файл, который касается диска, так как я считаю, что это требуется для решения memoryMappedFile.Можно ли заставить работать общие разделы DLL?В противном случае, что проще?
public ref class ServerGUIBridge
{
public:
#pragma data_seg(".sdata")
static int commonIntShouldBeGlobal = 0;
static bool hasBeenInitializedMakeMeGlobal = false;
#pragma data_seg()
#pragma comment(linker, "/section:.sdata,rws")
Я использую .NET 2.0, поэтому не WCF, пожалуйста.