У меня есть большое решение MVC с несколькими проектами. Я планирую создать отдельное решение со службами WCF и перенести несколько ресурсоемких проектов. Идея состоит в том, что приложение MVC будет взаимодействовать с WCF для любых вычислительных требований.
Проблема в том, что я не знаю, как вызвать существующий класс и интерфейсы, у которых уже есть интерфейсы для служб. Мой класс / интерфейс:
public interface IHelloWorld
{
string SayHello(string name);
}
public class HelloWorld : IHelloWorld
{
public string SayHello(string name)
{
return string.Format("Hello, {0}", name);
}
}
В классе есть сотни методов. Не все будут доступны WCF, только некоторые из них.
Теперь мне нужно вызвать этот класс во вновь созданной службе WCF. Я не уверена:
- Должен ли я изменить существующие классы для преобразования в svc.cs (сервис) или я могу создать отдельный служебный файл и вызывать там существующие методы?
- Классу обслуживания также необходим интерфейс, который будет определен в web.config (контракт конечной точки). Должен ли я создавать отдельный интерфейс только с методами, которые мне нужно раскрыть, ИЛИ я должен использовать существующий интерфейс в библиотеке классов? Если я использую интерфейс класса, то я должен упомянуть то же самое в web.config.
Я немного не понимаю, как лучше всего это сделать. Я не хочу изменять существующий класс, но хочу добавить новую службу, которую я могу просто подключить и позвонить оттуда. новые файлы svc.cs:
[ServiceContract]
public interface IHelloWorldService
{
[OperationContract]
string SayHello(string name);
}
public class HelloWorldService : IHelloWorldService
{
private IHelloWorld helloWorld = new HelloWorld();
public string SayHello(string name)
{
return helloWorld.SayHello(name);
}
}
Этот текущий дизайн кажется, что я повторяю существующий класс / интерфейс. Не уверен, что это правильный путь. Пожалуйста помоги.