binary formater в ремотинг
От: Варвар США  
Дата: 06.03.05 13:29
Оценка:
застрял с конфигурацией
Помогите пожалуста. Soap formater работает, а binary нет. Что я не так делаю?
сервер:
<system.runtime.remoting>
    <application>
        <service>
            <wellknown 
                mode="Singleton" 
                type="ProductMatch.ProductMatch, ProductMatch" 
                objectUri="ProductMatch.rem" />
        </service>
        <channels>
            <channel ref="http" port="4000">
                <serverProviders> 
                    <formatter ref="binary" typeFilterLevel="Full" />
                </serverProviders>
            </channel>
        </channels>
    </application>
</system.runtime.remoting>

клиент:
<system.runtime.remoting>
    <application>
        <client>
            <wellknown 
            type="ProductMatch.ProductMatch, ProductMatch" 
            url="http://localhost:4000/ProductMatch.rem"
            />
        </client>
        <channels>
            <chanel ref="http" port="0">
                <clientProviders> 
                    <formatter ref="binary" />
                </clientProviders>
            </chanel>
        </channels>
    </application>
</system.runtime.remoting>

Выдает следующую ошибку:
An unhandled exception of type 'System.Runtime.Remoting.RemotingException' occurred in mscorlib.dll

Additional information: System.ArgumentNullException: No message was deserialized prior to calling the DispatchChannelSink.
Parameter name: requestMsg
   at System.Runtime.Remoting.Channels.DispatchChannelSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
   at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
   at System.Runtime.Remoting.Channels.Http.HttpServerTransportSink.ServiceRequest(Object state)
   at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()


Но, если в <formatter ref=> вместо binary подставляю soap, то всё работает.
И вместо сердца каменный топор...
Re: binary formater в ремотинг
От: Варвар США  
Дата: 06.03.05 15:15
Оценка:
Попробовал не использовать конфигурационный файл.
Сервер:
IDictionary props = new Hashtable();
props["port"] = 4000;
BinaryServerFormatterSinkProvider srv = new BinaryServerFormatterSinkProvider();
BinaryClientFormatterSinkProvider clnt = new BinaryClientFormatterSinkProvider();
HttpChannel channel = new HttpChannel(props,clnt,srv);
ChannelServices.RegisterChannel(channel);

RemotingConfiguration.RegisterWellKnownServiceType(typeof(ProductMatch), "ProductMatch.rem", WellKnownObjectMode.Singleton);

Клиент:
BinaryClientFormatterSinkProvider clnt = new BinaryClientFormatterSinkProvider();
HttpChannel channel = new HttpChannel(null,clnt,null);
ChannelServices.RegisterChannel(channel);
            
WellKnownClientTypeEntry remotetype = new WellKnownClientTypeEntry(typeof(ProductMatch), "http://localhost:4000/ProductMatch.rem");
RemotingConfiguration.RegisterWellKnownClientType(remotetype);
            
ProductMatch match = new ProductMatch();
string serverName = match.GetServerName();

Работает!
Но, мне нужно заставить это работать через конфигурационный файл. Подскажите что я делаю неправильно.
И вместо сердца каменный топор...
Re[2]: binary formater в ремотинг
От: Варвар США  
Дата: 07.03.05 08:07
Оценка:
Никто не знает?
И вместо сердца каменный топор...
Re[3]: binary formater в ремотинг
От: TK Лес кывт.рф
Дата: 07.03.05 09:21
Оценка:
Hello, "Варвар"
> Никто не знает?

А что не получилось с конфигурационным файлом? Обычно, все не сильно отличается
Posted via RSDN NNTP Server 2.0 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: binary formater в ремотинг
От: Варвар США  
Дата: 07.03.05 09:56
Оценка:
Здравствуйте, TK, Вы писали:

TK>Hello, "Варвар"

>> Никто не знает?

TK>А что не получилось с конфигурационным файлом? Обычно, все не сильно отличается


Хочу использовать http channel с binary formaеter-ом. Исли использую через код, как в моем втором сообщении, то программа работает.
Если вместо кода использую конфигурационные файлы, как в первом сообщении, то при вызове метода удаленного объекта вылетаю с exception. Если в тех же конфигурационных файлах меняю binary на soap или http меняю на tcp — работает.
И вместо сердца каменный топор...
Re[5]: binary formater в ремотинг
От: Peter Fleischer Германия www.informtoools.de
Дата: 07.03.05 10:21
Оценка:
"Варвар" <19277@users.rsdn.ru> schrieb im Newsbeitrag news:1059577@news.rsdn.ru...
> Здравствуйте, TK, Вы писали:
...
> Хочу использовать http channel с binary formaеter-ом. Исли использую через код, как в моем втором сообщении, то программа работает.
> Если вместо кода использую конфигурационные файлы, как в первом сообщении, то при вызове метода удаленного объекта вылетаю с exception. Если в тех же конфигурационных файлах меняю binary на soap или http меняю на tcp — работает.

Может быть класс "ProductMatch" неправильно работает. У меня таких проблем нет.

Peter
Posted via RSDN NNTP Server 1.9
Re: binary formater в ремотинг
От: Варвар США  
Дата: 07.03.05 10:25
Оценка:
Здравствуйте, Варвар, Вы писали:

В>клиент:
В><system.runtime.remoting>
В>    <application>
В>        <client>
В>            <wellknown 
В>            type="ProductMatch.ProductMatch, ProductMatch" 
В>            url="http://localhost:4000/ProductMatch.rem"
В>            />
В>        </client>
В>        <channels>
В>            <chanel ref="http" port="0">
В>                <clientProviders> 
В>                    <formatter ref="binary" />
В>                </clientProviders>
В>            </chanel>
В>        </channels>
В>    </application>
В></system.runtime.remoting>
В>


Нашел ошибку
channel с двумя n пишется.
Мне вот не понятно, почему ремотинговый SectionHandler это съел и не подавился?
Целый день на это потратил
И вместо сердца каменный топор...
Re[5]: binary formater в ремотинг
От: Peter Fleischer Германия www.informtoools.de
Дата: 07.03.05 11:05
Оценка:
"Варвар" <19277@users.rsdn.ru> schrieb im Newsbeitrag news:1059577@news.rsdn.ru...
> Здравствуйте, TK, Вы писали:
...
> Хочу использовать http channel с binary formaеter-ом. Исли использую через код, как в моем втором сообщении, то программа работает.
> Если вместо кода использую конфигурационные файлы, как в первом сообщении, то при вызове метода удаленного объекта вылетаю с exception. Если в тех же конфигурационных файлах меняю binary на soap или http меняю на tcp — работает.

Эту ошибку могу воспроизводить след. образом:

На Сервере работеат BinaryServerFormatterSinkProvider

Клиент применяет SoapClientFormatterSinkProvider

Peter
Posted via RSDN NNTP Server 1.9
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.