Что такое AppDomain? [дубликат]

Это то, что вы после?

Declare @OderDetail table
     (Id int primary key,OrderId int,ItemId INT,Lookup varchar(15))

Insert @OderDetail values (1,1, 1,'A')
Insert @OderDetail values (2,1, 2,'BE')
Insert @OderDetail values (3,2, 1,'DR')
Insert @OderDetail values (4,2,2, 'D')
Insert @OderDetail values (5,3,2, 'DD')
Insert @OderDetail values (6,4,2, 'R');

declare @ItemId  int=2 , @orderid int = 2;

Запрос

With cte As
(
Select ROW_NUMBER() OVER(ORDER BY OrderDate) AS RecN,
* 
From @OderDetail Where ItemId=@ItemId
) 
Select * From cte Where 
RecN Between ((Select Top 1 RecN From cte Where OrderId = @orderid) -1) And
((Select Top 1 RecN From cte Where  OrderId = @orderid) +1) 
Order by id

Результат:

RecN    Id  OrderId ItemId  Lookup
1       2   1       2       BE
2       4   2       2       D
3       5   3       2       DD
131
задан Linky 24 September 2014 в 08:34
поделиться

2 ответа

AppDomain обеспечивает слой изоляции в рамках процесса. Все, о чем Вы обычно думаете как "на программу" (статические переменные и т.д.) на самом деле на - AppDomain. Это полезно для:

  • плагины (можно разгрузиться AppDomain, но не блок в AppDomain)
  • безопасность (можно выполнить ряд кода с определенными доверительными уровнями)
  • изоляция (можно выполнить различные версии блоков и т.д.)

боль - Вы, должен использовать дистанционную работу и т.д.

, Видят MSDN для партий больше информации Честно говоря, это не что-то, с чем необходимо смешать очень часто.

117
ответ дан 24 November 2019 в 00:18
поделиться

AppDomains может быть просмотрен как легкие процессы. Они совместно используют многие из тех же характеристик процесса, например, у них есть свои собственные копии помех, блоки и т.д, но они содержатся в рамках единственного процесса. С точки зрения операционной системы процесс является просто процессом, неважно, сколько AppDomains это может содержать.

В отличие от процесса однако, AppDomain не имеет никаких потоков, если Вы явно не создаете их. Поток может выполнить код в любом AppDomain.

AppDomains являются частью того же процесса и таким образом на самом деле совместно используют ту же управляемую "кучу". Это обычно - не проблема, так как модель программирования AppDomain предотвращает неявный доступ между AppDomains. Однако некоторые ссылки на самом деле совместно используются AppDomains, таким как текстовые объекты и интернировали строки.

33
ответ дан 24 November 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: