krishna Dev Ответов: 0

Принимающий.Объект NET remoting в IIS10 на windows10


Я работаю над старым приложением .net.

Который реализован с.система удаленного взаимодействия. NET и размещенных в IIS.

URL-адрес удаленного объекта .net выглядит следующим образом: "http://serverName:12345/ClassNameOFRemoteObject.rem"

Я пытаюсь воспроизвести его в своей локальной системе для отладки, но не могу добиться успеха.

Поэтому я создал здесь три проекта

Библиотека интерфейсов (ClassLibrary1)
пространство имен ClassLibrary1

{ публичный интерфейс IMyObj

{ строка возвращает что-то();

}

}

Проект "TestingRemoting" имеет удаленный объект, который реализован выше интерфейса.
пространство имен TestingRemoting

{ public class myObj : MarshalByRefObject, IMyObj

{ общественного строка returnSomething()

{

Remotingconfiguration, настраивающему.Настроить("веб.конфиг",ложные);

возвращение "привет";

}

}

}

Создал виртуальный каталог в IIS10 с именем “ACD_BusinessLogic” и указал на каталог “C:\myRemoteObject\bin-там, где мое тестовое управление.dll и ClassLibrary1.dll проживает
Добавлен файл web.config в “C:\myRemoteObject”
&ЛТ;система.во время выполнения.удаленное взаимодействие и GT;

<применение>

<каналы>

<channel ref="http" >



<сервис>

<wellknown mode="Singleton" type="TestingRemoting.myObj, TestingRemoting"

objectUri="myObj.rem" />







После этого, если я попытался просмотреть его, в браузере появилось сообщение “System.Runtime.Удаленное взаимодействие.RemotingException: запрошенная служба не найдена“ для URL-адреса “http://localhost/ACD_BusinessLogic/myObj.rem".Даже добавить веб-ссылку не удалось решить.


"Тестовый" клиентский проект
static void Main(string[] args)

{

Строке filename =

домен приложений.CurrentDomain.SetupInformation.Конфигурационный файл;

Remotingconfiguration, настраивающему.Configure(имя файла,false);

IMyObj mgr = (IMyObj)RemotingHelper.CreateProxy(typeof(IMyObj));

строка sd = mgr.returnSomething();

}

RemotingHelper.в CS

частный статический IDictionary _wellKnownTypes;

публичный статический объект CreateProxy(тип type)

{

if (_wellKnownTypes == null) InitTypeCache();

WellKnownClientTypeEntry энтр =

(WellKnownClientTypeEntry)_wellKnownTypes[тип];

if (entr == null)

{

throw new RemotingException("тип не найден!");

}

возвратный активатор.Функция getobject(энтр.ObjectType, entr.ObjectUrl);

}

public static void InitTypeCache()

{

Типы хэш-таблиц = новая хэш-таблица();

по каждому элементу (WellKnownClientTypeEntry энтр в

Remotingconfiguration, настраивающему.GetRegisteredWellKnownClientTypes())

{

если (антр.ObjectType == null)

{

throw new RemotingException("сконфигурированный тип не может быть" +

"находиться. Пожалуйста, проверьте орфографию в вашем конфигурационном файле.");

}

типы.Добавить(антр.ObjectType, entr);

}

_wellKnownTypes = типы;

}

Приложение Клиента.конфиг

&ЛТ;система.во время выполнения.удаленное взаимодействие и GT;

<применение>

<клиент>

<!-- Эта запись работает только с классом RemotingHelper -->

<хорошо известный тип="ClassLibrary1.IMyObj, ClassLibrary1"

URL-адрес="http://localhost/ACD_BusinessLogic/myObj.rem" /&ГТ;







Затем я попытался запустить клиентское приложение, я получаю исключение времени выполнения “необработанное исключение типа " System.Runtime.Удаленное взаимодействие.RemotingException' произошло в mscorlib.dll. Дополнительная информация: System.Runtime.Удаленное взаимодействие.RemotingException: запрошенная служба не найдена” в строке sd = mgr.returnSomething();

Пожалуйста, помогите мне.

Что я уже пробовал:

Я попробовал изменить конфигурационные файлы с помощью различных комбинаций.

0 Ответов