lexluther Опубликовано 17 мая, 2007 Жалоба Поделиться Опубликовано 17 мая, 2007 Добрый день, Я изучаю технологию NET Remoting. Руководствуясь инструкциями на множестве форумов, в MSDN'е и на rsdn.ru, я создал тестовый сервер и клиент (в который раз …). Но при запуске клиента мне выдается следующее сообщение: See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.************** Exception Text **************System.Runtime.Remoting.RemotingException: Requested Service not foundServer stack trace: at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at MyCoolClass.addthemall(Int32 first, Int32 second) at WindowsClient.MyForm.CalculateLinkLabel_LinkClicked(Object sender, LinkLabelLinkClickedEventArgs e) in C:\Documents and Settings\Administrator\My Documents\ServerApplication\WindowsClient\MyForm.cs:line 33 at ... Код сервера следующий: public class MyCoolClass : MarshalByRefObject{ public void addthemall(int first, int second) { MessageBox.Show((first + second).ToString() + "\n" + Assembly.GetExecutingAssembly().Location + "\n" + Thread.CurrentThread.CurrentUICulture.ToString() + "\n" + Assembly.GetExecutingAssembly().FullName); }}class Program{ static void Main(string[] args) { ChannelServices.RegisterChannel(new TcpServerChannel(8082), false); RemotingConfiguration.ApplicationName = "MyCoolApp"; RemotingConfiguration.RegisterWellKnownServiceType(typeof(MyCoolClass), "MyCoolClass", WellKnownObjectMode.SingleCall); System.Console.Write("Processing connections ..."); Console.ReadLine(); }} Код клиента следующий: namespace WindowsClient{public partial class MyForm : Form{ public MyForm() { InitializeComponent(); } private void CalculateLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { ChannelServices.RegisterChannel(new TcpClientChannel(), false); RemotingConfiguration.RegisterWellKnownClientType(typeof(MyCoolClass), "tcp://localhost:8082/MyCoolApp/MyCoolClass.rem"); MyCoolClass MCC = new MyCoolClass(); MCC.addthemall(Int32.Parse(this.NumTextBox1.Text),Int32.Parse(this.NumTextBox2.Text)); }}} До этого пытался заставить работать все с конфигами, а также при помощи кучи других способов (HTTP/TCP). НЕ РАБОТАЕТ. Даже на разных компьютерах запускал, все бестолку. В случае же если я настраиваю ремоутинг при помощи конфига то у меня просто вызывается локальный объект :D. Помогите пожалуйста понять в чем проблема. Что я делаю не так? Весь код тестового проекта находится по следующему пути: http://artiomivanov.com/ServerApplication.rar У меня и первый и второй фреймворки, + по умолчанию комплект идущий с 2005-м VS. Операционка Windows XP с отключенным фаерволом. Параметры безопасности фреймворка вообще не трогал, а работаю исключительно под админом. Там же точно должна быть какая то тонкость, типа как когда я создавал COM объект на .NET то оказалось что для нормальной работы ему нужен strong name, а об этом никто нормально ничего нигде не писал. Я сам случайно догадался. PS: И вообще, есть ли где учебники по .NET, не типо по синтаксису c#, А ПО .NET???! По MSIL коду, NET Remoting'у, и другим интересным темам. Интересуют интернет и бумажные варианты. С уважением. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти