| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Events .NET Remoting |
| Автор: -Mikle- 10.5.2005, 03:07 |
| {Изучаю .NET Remoting, тестируя его VB.NET, пишу сюда потому как сама технология не затрагивает язык} Не могу врубиться в чем дело! Помогите плз, кто сталкивался с такой проблемой! есть две библиотеки: RemotingInterfacesLIB и RemotingClassesLIB есть консольное приложение сервер(хост для удаленного объекта с режимом Singleton) и есть клиентское. В RemotingInterfacesLIB есть всего один интрефейс, а в RemotingClassesLIB - одна реализация этого интерфейса. В клиенте я навешиваюсь на событие удаленного объекта. Все прекрасно, отлично работает при тестировании на одном компе. Но попробовал перенести серверную часть (все что было в папке bin) на другой комп в локальной сети, как тут же в клиенте вывалился эксепшн: Server encountered an internal error. For more information, turn on customErrors in the server's .config file. Убираю прикрепление к событию, все в порядке, вызываю методы удаленного объекта чтобы убедиться в том что он действительно создан на сервере, а не локально. В принципе объект на сервере создается в любом случае, даже после ошибки. Ну блин в голову не приходит в чем дело!!! Когда на одном компе проверял (сервер и клиент) b вешался на событие , все работало!!! Перенес на другой комп сервер, перестало работать.... Блин ребята, срочно поможите кто может! Спасибо всем! Очень срочно жду! |
| Автор: Gazon 10.5.2005, 03:42 |
| Попробуй скопировать на сервер сборку клиента. |
| Автор: -Mikle- 10.5.2005, 03:45 |
| Скопировал, без нее и на одном компе не работало... |
| Автор: Domestic Cat 10.5.2005, 07:00 | ||
Вот что я нашел в нете по этому поводу
Заодно проверь, сервер и клиент ссылаются на одну и ту же версию объекта? |
| Автор: -Mikle- 10.5.2005, 09:29 |
| после того как выклычил customErrors в конфиге на сервере, вот что выводит: Type System.DelegateSerializationHolder and the types derived from it (such as System.DelegateSerializationHolder) are not permitted to be deserialized at this security level. Слушай, а может быть это из-за того, что компилю прогу я под Фреймворк v1.0, а на удаленном компе стоит v1.1 блин... терзает смутное подозрение что v1.1 не поддерживает работу v1.0 ..... Добавлено @ 09:35 Извеняюсь за вопрос не по названию темы: Если это из-за версий Framework'a, то как можно сконфигурировать MSVS .NET 2002, чтобы он при компиляции использовал Framework v1.1 Сам Framework v1.1 у меня уже стоит на компе.... а пока пойду компилить вручную, через коммандную строку.... |
| Автор: mr.DUDA 10.5.2005, 10:25 |
| Попробуй в визарде конфигурации .NET Framework добавить свою локальную сеть в зону FullTrust (но только на время, для тестирования) на компе сервера. |
| Автор: -Mikle- 10.5.2005, 13:54 |
| Короче поставил себе MSVS .NET с версией FW 1.1 Теперь вааще блин... даже когда на одном компе запускаещь (сервера и клиента) выводит исключение: Type System.DelegateSerializationHolder and the types derived from it (such as System.DelegateSerializationHolder) are not permitted to be deserialized at this security level. Тип System.DelegateSerializationHolder и унаследованные от него типы не разрешено Десериализовать при этом уровне безопастности Через Конфигуратор поысил до FullTrust локальную сеть и на серваке и на клиенте(на всякий случай)... Полагаю что делегат, который находится на удаленном объекте, должен иметь какой-нить аттрибут, или иметь уровень доступа, или еще что-нибудь... дело в нем, потому как если не вешаться на событие, то все в порядке... кто знает че он хочет от меня? как ему этот уровень, или че там, дать... 2-е сутки не сплю, бошка уже бум-бум... в инете копаюсь, ищю, но видимо мне пора выспаться... |
| Автор: -Mikle- 10.5.2005, 14:18 | ||
Кажется что-то нашел...
Данный вопрос временно Thread.Sleep(1000000000)... Пока не тратье на него время... Пойду обрабатывать эту цитату своим серым нагретым процессором................... if (This_Quote == True) Я.WriteLine GoodResult else Я.WriteLine BadResult endif; me.end; // в любом случае... |
| Автор: -Mikle- 10.5.2005, 15:51 |
| РЕШЕНО!!! СПАСИБО ОГРОМНОЕ ВСЕМ КТО ОТКЛИКНУЛСЯ, ПОДДЕРЖАЛ И ПОМОГ!!! Проблема решилась когда я сделал так как в предыдущем топике... Блин, молодцы мелкософты... полезную вещь добавили в v1.1 Более подробней об этой проблеме http://www.thinktecture.com/Resources/RemotingFAQ/Changes2003.html |
| Автор: a.S.d 21.4.2006, 08:37 |
| -Mikle-, У меня была та же проблема: Type System.DelegateSerializationHolder and the types derived from it (such as System.DelegateSerializationHolder) are not permitted to be deserialized at this security level. Когда я сделал как описано в предыдущей ссылке, при навешивании события появилось другое исключение: Exception has been thrown by the target of an invokation. Уже блин не знаю чё делать, везде только написано про typeFilterLevel="Full", которое у меня естественно установлено. |
| Автор: a.S.d 21.4.2006, 21:50 |
| Данное исключение пояляется если класс, который обрабатывает событие наследуется от MarshalByRefObject. Если пометить класс как [Serializable] то появляется другое исключение:Unable to find assembly ............ Что делать? Ниужели никто не знает как обрабатывать события в .NET 2.0? |