首页 > 解决方案 > 有人在 Azure Web 应用程序中使用 SQL 依赖项有问题吗?

问题描述

尝试通过带有 SQL 身份验证的混合连接在 .NET 4.7 Azure Web 应用程序中针对本地 SQL 服务器(不是 Azure SQL db)使用 SQL 依赖项。一切都可以在开发系统和我们网络内的其他环境中本地运行,但在部署到 Azure Web 应用服务时却不行。

在 Global.asax.cs 中调用此代码时,Application_Start()

SqlDependency.Start("SomeConnectionString");

它抛出错误:

[参数异常:连接字符串]

System.Data.SqlClient.SqlDependency.Start(String connectionString, String queue, Boolean useDefaults) +493
MyWebApplication.Application_Start() +661

[HttpException (0x80004005): connectionString]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +517
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +185
System.Web.HttpApplication .InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +168
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +277
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +369

[HttpException (0x80004005): connectionString]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +532
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +111 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +714

标签: c#azuresqldependency

解决方案


原来这根本不是 SQL 依赖。Azure Web 应用程序试图从 web.config 中提取连接字符串并且间歇性地失败(这是另一个问题)。将连接字符串移动到应用服务配置解决了这个问题。


推荐阅读