У меня есть ASP.NET Core 2.0 WebAPI, и теперь я хочу развернуть его на IIS-сервере.
В режиме отладки я могу отправлять запросы через почтальона и получаю правильные результаты.
Но когда я развертываю веб-API на iis-сервере, я не могу вызвать сервисы веб-API. Так что это какой-то не работает правильно.
Я следовал нескольким инструкциям, как это сделать, вот одно из руководств:
https://www.codeproject.com/Articles/1216729/Get-NET-Core-Web-API-Hosted-in-IIS
Это все еще не работает.
ProductController.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CodeBaseFx;
using FurnitureContract.Services;
using FurnitureContract.Services.Model;
using FurnitureContract.Services.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace FurnitureContract.WebApi.Controllers
{
[Produces("application/json")]
[Route("api/Product")]
public class ProductController : Controller
{
private IProductService service = ServiceFacade.ProductService;
public ProductController(IProductService service)
{
this.service = service;
}
[HttpGet("GetById")]
public IEnumerable<Product> GetByProductId(string productId)
{
return service.GetByProductId(productId);
}
[HttpGet("GetByDesc")]
public IEnumerable<Product> GetByProductDesc(string productDesc, string language)
{
var lng = CoreFacade.Language.GetLanguage(language);
return service.GetByProductDesc(productDesc, lng);
//return service.GetByProductDesc(productDesc, LanguageType.it);
}
}
}
Program.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
namespace FurnitureContract.WebApi
{
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
}
}
Я также установил файл пакета размещения хостинга Microsoft .NET Core Windows Server на IIS Server
Вот мои шаги развертывания:
- Я опубликовал свой проект в папке, а затем скопировал его на веб-сервер в целевой папке.
- Я создал пул приложений с параметром без управляемого кода .
- Затем я создал новое приложение, выбрал пул приложений выше и установил физический путь к папке web api.
Когда я пытаюсь сделать запрос через почтальона, я не получаю никакого результата.
Может кто-нибудь помочь?