У меня есть служба WCF с большим интерфейсом. Клиентское решение имеет библиотеку классов, которая использует эту службу, но только один метод + один контракт с данными. Я не хочу ссылку на службу в этом проекте библиотеки классов, но вместо этого только в основном проекте.Зависимость Инъекция без полного интерфейса
Я добавил интерфейс к этой библиотеке классов, в которой есть только те элементы, которые мне нужны. Затем я выставляю метод, который принимает параметр «клиент» объекта типа, который я передал этому интерфейсу. Всякий раз, когда я запускаю его, я получаю «неспособность бросить». Я думаю, это связано с тем, что на интерфейсе на клиенте отсутствует множество методов.
Я посмотрел библиотеку Ninject для WCF https://github.com/cyanfish/Ninject.Extensions.Wcf.Client, но предполагает, что вы включили весь интерфейс из серверного решения. Я не хочу этого делать, потому что он имеет другие несвязанные зависимости, и я хочу, чтобы эта библиотека классов была чистой. Я мог бы также, чтобы основной проект в клиенте обрабатывал вызовы служб и передавал результаты в библиотеку классов, но этот вид побеждает цель его устранения.
Есть ли у меня другие возможности?
Я не считал, что вариант, однако, если мне нужно изменить внешний интерфейс, мне может быть лучше разогнать этот единственный метод на отдельной конечной точке svc и сделать таким образом меньший интерфейс. – wtjones