Создание и использование WCF с использованием MVC3 - PullRequest
2 голосов
/ 09 февраля 2012

У меня есть проект MVC3, который пуст.Я не добавил контроллеров или каких-либо представлений.Единственное, что я добавил в проект MVC, это Model-> Employee.cs

У меня есть следующие свойства в этом классе:

    [Display(Description="The admin systems group number")]
    public string GroupNumber { get; set; }


    [Display(Description = "The Tax ID for the group (No Dashes)")]
    public string  TaxId { get; set; }

Теперь я хочу добавитьзапись этого сотрудника через службу WCF.Я создал другой проект в том же решении с именем EmployeeHost

Это мои ServiceContract и DataContract в IService1.cs :

    namespace EmployeeHost
{
    [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        string GetData(int value);

        [OperationContract]
        Employee AddEmployee(Employee emp);

        [OperationContract]
        Employee UpdateEmployee(Employee emp);
    }

    [DataContract]
    public class Employee
    {
        [DataMember]
        public string GroupNumber { get; set; }


        [DataMember]
        public string TaxId { get; set; }


    }
}

И это то, что у меня есть вмой интерфейс: Service1.cs

 namespace EmployeeHost
{
    public class Service1 : IService1
    {
        public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }

       public void AddEmployee(Employee emp)
        {
           //Add something to DB for emp.
        }

        public void UpdateEmployee (Employee emp)
       {
            //Update something for employee emp.
       }
    }
}

Это то, что я до сих пор.Теперь я хочу добавить запись, используя DBContext (EF).Каким должен быть мой следующий процесс?

1 Ответ

1 голос
/ 09 февраля 2012

Более простой способ будет следующим:

WCF:

  1. Сделайте AddEmployee вызов любого кода EF, необходимого для вставки EmployeeHost.Employee.

MVC:

  1. Создание представления для отображения страницы формы.
  2. Добавление действия на контроллере для отображения представления.
  3. Добавление действия наваш контроллер для обработки опубликованных данных из представления.
  4. Сделайте это последнее действие вызовом WCF, сначала преобразовав Model.Employee в EmployeeHost.Employee.

Опять, как у меня естьсказал в моем комментарии, это не имеет большого смысла IMHO - если WCF не является удаленной службой, развернутой на отдельном сервере из веб-приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...