powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / AppDomain into WCF Service
2 сообщений из 2, страница 1 из 1
AppDomain into WCF Service
    #38018392
2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хочу чтобы моя служба WCF создавала экземпляр класса библиотеки в новом домене, но получаю исключение - "Не удалось загрузить файл или сборку". Помогите мне пожалуйста.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
 //Бибилиотека с методом
 public class Class1 : MarshalByRefObject
 {    
        public string Method1(int i)
        {
            return "int=" + i;
        }
 }


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 
//Сервис создающий домен а в нем экземпляр класса
public class Service1 : IService1
{
     public string GetData(int value)
     {
          string name = typeof(Class1).Assembly.GetName().FullName;
          string type_name = typeof(Class1).FullName;
          var _Dom = AppDomain.CreateDomain("SubDomain", null, info);

          //why is it not working? 
          //exception - not found assembly file
          var _Factory = _Dom.CreateInstanceAndUnwrap(name, type_name) as Class1;

          //it's worked
          //var _Factory = AppDomain.CurrentDomain.CreateInstanceAndUnwrap(name, type_name) as Class1;

          return _Factory.Method1(value);
     }
}



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
        // Метод клиента
static void Main(string[] args)
{
	using (Service1Client cc = new Service1Client())
	{
		Console.WriteLine("Client opened.");
		Console.Write("Enter integer: ");
		
		int i = 0;
		int.TryParse(Console.ReadLine(), out i);
		try
		{
			var r = cc.GetData(i);
			Console.WriteLine(r);
		}
		catch (Exception e)
		{
			Console.WriteLine(e.Message);
		}
		cc.Close();
		Console.WriteLine("Client closed. Press Enter key to exit...");
		Console.ReadLine();
	}
}



Вот ссылка на полное решение, с клиентом сервис. Но там вроде как все элементарно.
link to solution

Не судите строго, я только учусь.
...
Рейтинг: 0 / 0
AppDomain into WCF Service
    #38019534
2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помог Self Hosting, при котором нет этой проблемы.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
Uri url = new Uri("http://localhost:7777/Service1");
using (ServiceHost host = new ServiceHost(typeof(Service1), url))
{
    host.AddServiceEndpoint(typeof(IService1), new WSHttpBinding(), "");
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;
    host.Description.Behaviors.Add(smb);
    host.Open();
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / AppDomain into WCF Service
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]