Ramkrishn Mishra Ответов: 1

Как разместить службу WCF и rest в одном решении, используя ядро 2.2.


Привет,
У меня есть несколько веб-rest api, основанных на DotNet Core 2.2, но я хочу разработать сервис WCF в существующем проекте DotNet Core 2.2, который уже имеет rest api.

Если я разверну другой хостинг-сервер-2, то обслуживание будет увеличено. Поэтому я хочу, чтобы все разные проекты были в одном решении visual studio 2019.

Поэтому, пожалуйста, предложите, что вы будете делать.

Что я уже пробовал:

    [Route("api/[controller]/[action]")]
    public class EmployeeListController : ControllerBase
    {
        clsLogin objBO = new clsLogin();

        public async Task<IActionResult> GetEmployeeList(Int64? TenantId)
        {
            try
            {
                clsLogin cls = new clsLogin();
                LstEmployee objresp = new LstEmployee();
                objresp.EmployeeMaster = new List<EmployeeMaster>();
                clsLoginCredentials oLoginCredentials = cls.GetWebApiTokenDetail(this.HttpContext);

                //Creating Client object of Service Reference
                ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
                var result1 = await client.GetEmployeeDataAsync(Convert.ToInt32(TenantId));

                var arr = result1;

                for (int i = 0; i < arr.Count(); i++)
                {
                    EmployeeMaster obj = new EmployeeMaster();
                    obj.empM_LegEnt_Id = Convert.ToInt64(arr[i].empM_LegEnt_Id);
                    obj.empM_empId = arr[i].empM_empId;
                    obj.empM_UID = Convert.ToString(arr[i].empM_UID);
                    

                    objresp.EmployeeMaster.Add(obj);
                }

                if (objresp.EmployeeMaster.Count > 0)
                {
                    objresp.ResponseCode = ApiResponseCode.RecordFoundCode;
                    objresp.ResponseMessage = ApiResponseCode.RecordFoundMessage;
                    objresp.ResponseType = ApiResponseCode.RecordFoundType;
                    return Ok(objresp);
                }
                return NotFound();
            }
            catch (Exception ex)
            {

                throw;
            }
        }
}

1 Ответов

Рейтинг:
1

Richard Deeming

.NET Core на самом деле не поддерживает WCF. Есть библиотека для поддержки зовущий служба WCF[^], и сторонняя библиотека[^] для поддержки сервера WCF, которая является неполной и еще не готова к производству. Но Скотт Хантер специально заявил, что WCF не будет добавлен в .NET Core:

Это означает, что мы не будем добавлять ASP.NET Web Forms, WCF, Windows Workflow, .NET Remoting и/или различные другие более мелкие API для .NET Core.

В зависимости от ваших требований, вы можете рассмотреть gRPC[^] вместо:
Введение в gRPC на .NET Core | Microsoft Docs[^]