【发布时间】:2018-12-06 18:04:25
【问题描述】:
我在 asp.net core 2.1 中有一个 webapi,如果我在 Visual Studio 中按 F5,它可以正常工作,我可以点击我的控制器,但是当我将应用程序部署到 IIS 时,它说它可以解决配置方法上的 DbContext。
我的Configure 看起来像这样
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IConfiguration configuration, DocumentDbContext documentContext)
{ …}
在我的 ConfigureServices 上,我以这种方式注入 dbcontext
container.AddDbContext<DocumentDbContext>(options => options.UseSqlServer(connectionString), ServiceLifetime.Scope);
正如我所说的那样有效。为了将应用程序部署到 IIS,我在 Program 类中添加了以下信息
public class Program
{
public static void Main(string[] args)
{
var host = BuildWebHost(args);
host.Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
}
ApplicationPool 在No Managed Code 下运行
我需要检查其他东西吗?
【问题讨论】:
-
检查已部署应用程序的 sql server 连接字符串。
-
它生成相同的 appsettings.json,我没有发现任何错误
-
您是否使用集成安全性连接到 sql server 或用户 ID 和密码?
-
集成安全
-
好的,改成使用用户名/密码,然后试试
标签: c# asp.net asp.net-core asp.net-core-2.0 asp.net-core-webapi