Как проверить класс, использующий прокси-клиенты, сгенерированные по ссылке на веб-службу?
Я хотел бы посмеяться над клиентом, но сгенерированный интерфейс клиента не содержит метода close, который требуется для правильного завершения прокси. Если я не использую интерфейс, а вместо этого использую конкретную ссылку, я получаю доступ к методу close, но теряю возможность издеваться над прокси.
Я пытаюсь проверить класс, подобный этому:
public class ServiceAdapter : IServiceAdapter, IDisposable
{
// ILoggingServiceClient is generated via a Web Service reference
private readonly ILoggingServiceClient _loggingServiceClient;
public ServiceAdapter() : this(new LoggingServiceClient()) {}
internal ServiceAdapter(ILoggingServiceClient loggingServiceClient)
{
_loggingServiceClient = loggingServiceClient;
}
public void LogSomething(string msg)
{
_loggingServiceClient.LogSomething(msg);
}
public void Dispose()
{
// this doesn't compile, because ILoggingServiceClient doesn't contain Close(),
// yet Close is required to properly terminate the WCF client
_loggingServiceClient.Close();
}
}