Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> .NET Remoting Взаимодействие Интерфейса и классов, Интерфейс общегоОбъекта и его классы 
V
    Опции темы
contramundum
Дата 27.5.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 20.11.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Здавствуйте ГУРУ ремотинга!!
Перелопатил вроде весь форум и гугл, но проблему не решил... зато понял, что здесь мне смогут помоч судя по содержанию тем! smile 
Я создаю обычную сетевую прогу на VB.NET Клиент-Сервер через ремотинг, используя ИНТЕРФЕЙС на общем объекте, чтобы передавать переменные.
Пока прога не имела доп. классов на общем объетке - все хорошо работало - данные передавались!
Как только я воткнул классы, описывающие мои переменные - сразу стала появляться ошибка: 
Код

Because of security restrictions, the type System.Runtime.Remoting.ObjRef cannot be accessed.

подозреваю, что проблема - ламерская: надо всего-лишь добавить разрешения для классов (может еще для чего). Но я пока очень плохо орудую в VB.NET и не знаю всех тонкостей...
вот листинги:

код клиента:
Код

                Dim c As TcpChannel = New TcpChannel()
                ChannelServices.RegisterChannel(c)
            Dim remServO As Object = Activator.GetObject(GetType(RatesInterface), "tcp://localhost:32469/RemComObj.tcp")
            Dim remcomm As RatesInterface = CType(remServO, RatesInterface)

Dim arrRates As CurrencyRate
arrRates = New CurrencyRate()
arrRates.Tiker = "USD"
remcomm.SetRatesToSrv(arrRates)

код общего объекта(интерфейс):
Код

Public Interface RatesInterface
    Function SetRatesToSrv(ByVal currencyRates As CurrencyRate)
End Interface

код общего объекта(отдельный класс):
Код

Public Class CurrencyRate
    Inherits MarshalByRefObject

    Public _tikerValue As String

    Public Property Tiker() As String
        Get
            Tiker = _tikerValue
        End Get
        Set(ByVal value As String)
            _tikerValue = value
        End Set
    End Property
End Class


ну и код сервера:
Код

Public Class Class1
        Inherits MarshalByRefObject
        <STAThread()> Shared Sub Main(ByVal args() As String)
            Console.WriteLine("go!")
            Dim c As TcpChannel = New TcpChannel(32469)
            ChannelServices.RegisterChannel(c)
            RemotingConfiguration.RegisterWellKnownServiceType(GetType(SetRatesClass), "RemComObj.tcp", WellKnownObjectMode.Singleton)
            Console.ReadLine()
        End Sub
    End Class

код сервера(класс выполнения):
Код

Public Class SetRatesClass
    Inherits MarshalByRefObject
    Implements Comm.RatesInterface
    Public Function SetRatesToSrv(ByVal currencyRates As Comm.CurrencyRate) Implements Comm.RatesInterface.SetRatesToSrv
        Console.WriteLine("!!!_Starting reciving text: ") '& currencyRates(0).ToString & currencyRates(1).ToString & currencyRates(2).ToString & currencyRates(3).ToString)
    End Function
End Class


поможете? smile 
PM MAIL   Вверх
QryStaL
Дата 27.5.2008, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: нет
Всего: 32



Вместо этого 

Public Class CurrencyRate    
Inherits MarshalByRefObject

опиши класс CurrencyRate с атрибутом Serializable


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
contramundum
Дата 28.5.2008, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 20.11.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



АААААААААААААААААА!!!! РАБОТАЕТ!!!! ОГРОМНОЕ СПАСИБОО!!!! smile  smile  smile  smile  smile  smile  smile  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.