ASP.NET核心2.0 Web API-can';不能在IIS上发布
我有一个ASP.NET Core 2.0 WebAPI,现在我想将其部署到IIS服务器 在调试模式下,我可以通过邮递员发出请求,得到正确的结果 但是,当我将web api部署到iis服务器时,我无法调用web api服务。所以它有点不正常 我遵循了几条指南,下面是其中一条: 它仍然不起作用 ProductController.cs:ASP.NET核心2.0 Web API-can';不能在IIS上发布,iis,asp.net-core,asp.net-core-2.0,asp.net-core-webapi,Iis,Asp.net Core,Asp.net Core 2.0,Asp.net Core Webapi,我有一个ASP.NET Core 2.0 WebAPI,现在我想将其部署到IIS服务器 在调试模式下,我可以通过邮递员发出请求,得到正确的结果 但是,当我将web api部署到iis服务器时,我无法调用web api服务。所以它有点不正常 我遵循了几条指南,下面是其中一条: 它仍然不起作用 ProductController.cs: using System; using System.Collections.Generic; using System.Linq; using System.T
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);
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Threading.Tasks;
使用CodeBaseFx;
使用家具合同。服务;
使用FurnitureContract.Services.Model;
使用家具合同.服务.服务;
使用Microsoft.AspNetCore.Http;
使用Microsoft.AspNetCore.Mvc;
命名空间FurnitureContract.WebApi.Controllers
{
[产生(“应用程序/json”)]
[路线(“原料药/产品”)]
公共类ProductController:控制器
{
私有IPProductService=ServiceFacade.ProductService;
公共产品控制器(IPProductService服务)
{
服务=服务;
}
[HttpGet(“GetById”)]
公共IEnumerable GetByProductId(字符串productId)
{
return service.GetByProductId(productId);
}
[HttpGet(“GetByDesc”)]
公共IEnumerable GetByProductDesc(字符串productDesc,字符串语言)
{
var lng=coremacade.Language.GetLanguage(语言);
返回服务。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();
}
}
使用系统;
使用System.Collections.Generic;
使用System.IO;
使用System.Linq;
使用System.Threading.Tasks;
使用Microsoft.AspNetCore;
使用Microsoft.AspNetCore.Hosting;
使用Microsoft.Extensions.Configuration;
使用Microsoft.Extensions.Logging;
命名空间FurnitureContract.WebApi
{
公共课程
{
公共静态void Main(字符串[]args)
{
BuildWebHost(args.Run();
}
公共静态IWebHost BuildWebHost(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
.Build();
}
}
我还在IIS服务器上安装了Microsoft.NET Core Windows服务器托管捆绑包文件
下面是我的部署步骤:
有人能帮忙吗?我已经解决了这个问题:
我已经解决了这个问题: