Проблемы, включая ссылку на службу на веб-сайте.NET

У меня есть созданный мной веб-сервис, который я успешно включаю в консольный проект.NET, но невозможно включить в проект веб-сайта. Каждый раз, когда я добавляю веб-ссылку, мой помощник не находит службу локально, но если я введу веб-ссылку, она будет там. Кроме того, автоматически сгенерированные классы в консольном приложении полностью отличаются от сгенерированных в приложении веб-сайта.

Веб-сервис - это сервис WFC, и у него есть функции обратного вызова, поэтому мне нужен такой интерфейс, как IServiceLectorTarjetasSharpCallback, что я не могу найти, когда добавляю ссылку на мой сайт.

Я использую VS 2015.

1 ответ

Я бы избегал генерации кода, когда это возможно. Если хотите, попробуйте это:

  1. Создайте контрактную сборку, чтобы определить интерфейс сервиса и контракт:

[ServiceContract] public interface IService { [OperationContract] CustomResponse Test(string test); } public class CustomResponse { }

  1. Импортируйте контракт dll и внедрите сервис обычно в сервисном проекте:

public class ServiceImplementation : IService { public CustomResponse Test(string test) { return new CustomResponse(); } }

  1. Внедрите Client в клиентской сборке, также ссылаясь на контракт

public interface IServiceClient { CustomResponse Test(string test); } public class ServiceClient : ClientBase< IService>, IServiceClient { public CustomResponse Test(string test) { return Channel.Test(test); } }

  1. Потребить клиента:

IServiceClient client = new ServiceClient(); //or some DI var result = client.Test("Test");

Другие вопросы по тегам