Я борюсь с тем, чтобы МОК работал в сценарии удаленного взаимодействия. У меня есть сервер приложений, настроенный на публикацию служб (SingleCall), настроенных с помощью XML.
Это работает так же, как мы все знаем:
RemotingConfiguration.Configure(ConfigFile, true);
Допустим, мой сервис выглядит так (псевдокод)
public class TourService : ITourService
{
IRepository _repository;
public TourService()
{
_repository = new SqlServerRepository();
}
}
Но то, что я бы предпочел, чтобы это выглядело вот так:
public class TourService : ITourService
{
IRepository _repository;
public TourService(IRepository repository)
{
_repository = repository;
}
}
На стороне клиента мы делаем что-то подобное (снова псевдокод):
(ITourService)Activator.GetObject(ITourService, tcp://server/uri);
Это заставляет сервер создать новый экземпляр моего класса TourService ...
Однако, похоже, это не сработает, потому что .NET Remoting Infrastructure хочет знать тип , который он должен публиковать, но я бы хотел указать на то, как он может получить объект он должен опубликовать. Другими словами, проложите его через технологическую трубу МОК, например, Виндзорского замка.
В настоящее время я немного растерялся в этом задании ...