Здравствуйте, Mika Soukhov, Вы писали:
MS>Здравствуйте, Pavel M., Вы писали:
PM>>По TcpChannel все работает.
PM>>Я где-то не настроил права?
MS>tokenImpersonationLevel
можно чуточку поробнее, как применить?
Здравствуйте, Pavel M., Вы писали:
PM>Здравствуйте, Mika Soukhov, Вы писали:
MS>>Здравствуйте, Pavel M., Вы писали:
PM>>>По TcpChannel все работает.
PM>>>Я где-то не настроил права?
MS>>tokenImpersonationLevel
PM>можно чуточку поробнее, как применить?
<configuration>
<system.runtime.remoting>
<application>
<channels>
<channel ref="ipc client" secure="true" tokenimpersonationlevel="Impersonation" />
</channels>
</application>
</system.runtime.remoting>
</configuration>
Здравствуйте, Mika Soukhov, Вы писали:
MS>Здравствуйте, Pavel M., Вы писали:
PM>>Здравствуйте, Mika Soukhov, Вы писали:
MS>>>Здравствуйте, Pavel M., Вы писали:
PM>>>>По TcpChannel все работает.
PM>>>>Я где-то не настроил права?
MS>>>tokenImpersonationLevel
PM>>можно чуточку поробнее, как применить?
MS>MS><configuration>
MS> <system.runtime.remoting>
MS> <application>
MS> <channels>
MS> <channel ref="ipc client" secure="true" tokenimpersonationlevel="Impersonation" />
MS> </channels>
MS> </application>
MS> </system.runtime.remoting>
MS></configuration>
MS>
хм, краткость сестра таланта, но куда этот конфиг сунуть?

Извиняюсь за непонимание, но все-таки. И еще вопросик, как это не в конфиге, а программно применить
Здравствуйте, Pavel M., Вы писали:
MS>>MS>><configuration>
MS>> <system.runtime.remoting>
MS>> <application>
MS>> <channels>
MS>> <channel ref="ipc client" secure="true" tokenimpersonationlevel="Impersonation" />
MS>> </channels>
MS>> </application>
MS>> </system.runtime.remoting>
MS>></configuration>
MS>>
PM>хм, краткость сестра таланта, но куда этот конфиг сунуть?
Извиняюсь за непонимание, но все-таки. И еще вопросик, как это не в конфиге, а программно применить
Подсказка =)
************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.
Например:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
Здравствуйте, Pavel M., Вы писали:
PM>Здравствуйте, Pavel M., Вы писали:
PM><configuration>
PM> <system.windows.forms jitDebugging="true" />
PM></configuration>
PM>[/q]
написал я конфиг и положиле его рядом со своей службой — НЕ РАБОТАЕТ! =) А еще написал обычных два десктопных приложения — работают без всяких конфигов! Что делать??? Очень хочется со службой по IPC говорить, а не по TCP !
Столкнулся с похожей ситуацией:
1. Сервер — сервис, работает по системным пользователем
2. Клиенты работают под текущим пользователем.
3. Используется IPC и нельзя использовать конфигурационный файл.
Решать пришлось 2 проблемы:
1. Собственно ремотинг между IPC под разными пользователями и что
программный комплекс ставится на Windows с разными локализациями.
Код сервера
Нужно чтоб досутп к серверу был по Everyone, а Everyone в Русской версии зовется
"Все", по этому примеры найденные в Гугле не работали.
По этому сначала узнаем как зовут "евривана" на данном PC
SecurityIdentifier si = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
IdentityReference ir = si.Translate(typeof(NTAccount));
Потом собственно регистрируем канал IPC
// Регистрируем канал IPC сервера.
IDictionary poroperties = new Hashtable();
poroperties["name"] = "ipc";
poroperties["portName"] = "MyIPCPort";
poroperties["exclusiveAddressUse"] = "false";
poroperties.Add("authorizedGroup", ir.Value);//"Everyone");
poroperties.Add("secure", "True");
poroperties.Add("impersonationLevel", "Identification");
IpcServerChannel ipcServerChannel = new IpcServerChannel(poroperties, serverSinkProvider);
ChannelServices.RegisterChannel(ipcServerChannel, true);
Код клиентов:
IDictionary properties = new Hashtable();
properties.Add("name", "IPC Client Channel");
properties.Add("impersonationLevel", "Identify");
IpcClientChannel clientChannel = new IpcClientChannel(properties, new BinaryClientFormatterSinkProvider());
ChannelServices.RegisterChannel(clientChannel, true);
Примечание:
1. Инициализация через Hashtable — это "аналог" конфигурационного файла.
2. Как уже говорилось ранее true у RegisterChannel д.б. на клиенте и сервере.
... << RSDN@Home 1.2.0 alpha rev. 655>>