Если я выполняю в контексте конкретного экземпляра службы и операции, как мне получить доступ к исполняемому экземпляру службы? Служебные экземпляры не наследуются от какого-либо конкретного базового класса или интерфейса, и единственный путь к существующему контексту, который я могу найти, это:
OperationContext.Current
но я не могу найти никаких свойств, которые ссылаются на фактический экземпляр службы, поэтому я могу использовать его для того, что, как я знаю, должен быть, и выполнять операции над ним.
Не исследуя, почему я делаю это (это не имеет значения), пожалуйста, дайте мне знать, есть ли способ найти ссылку, которую я ищу.
EDIT:
[ServiceContract]
public interface IInventory
{
[OperationContract]
List<DealInfo> ListDeals(DealQueryOptions options);
}
// This is the object I will need access to the current instance of
public class Inventory : ServiceBase<Inventory>, IInventory
{
public List<DealInfo> ListDeals(DealQueryOptions options)
{
var obj = new Whatever(); // see below
}
}
public class Whatever
{
public Whatever()
{
// how do I get access to the service instance here?
// assume that in this context we are not allowed to
// pass the service instance to this class; this class
// must automatically discover the instance itself.
}
}