Если я выполняю в контексте определенного экземпляра службы и операции, как мне получить доступ к экземпляру службы, выполняемому в данный момент? Экземпляры службы не наследуются от какого-либо определенного общего базового класса или интерфейса, и единственный путь в существующий контекст, который я могу найти, это:
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.
}
}