【问题标题】:Is SqlDependency supported in .NET Core?.NET Core 是否支持 SqlDependency?
【发布时间】:2017-01-15 02:01:57
【问题描述】:

是否可以在 .NET Core v1.1 应用程序中利用 System.Data.SqlClient.SqlDependency? System.Data.SqlClient 中的大多数其他类和方法似乎都可用,但 SqlDependency 除外。

本质上,我试图在表数据更改时订阅 SQL 通知,然后更新客户端的 UI,因此如果 .NET Core 不提供 SqlDependency,我愿意采用其他方法来实现此目的。

提前致谢!这是我完整的 project.json 文件:

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Authentication": "1.0.0",
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
    "System.IdentityModel.Tokens.Jwt": "5.0.0",
    "Microsoft.AspNetCore.Authentication.OpenIdConnect": "1.0.0",
    "Microsoft.AspNetCore.Authentication.Google": "1.0.0",
    "Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.EntityFrameworkCore": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
    "Microsoft.Extensions.Configuration.Binder": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Identity": "1.1.0",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Rewrite": "1.0.0",
    "Microsoft.AspNetCore.ResponseCompression": "1.0.0",
    "Microsoft.AspNetCore.SignalR.Server": "0.2.0-*",
    "Microsoft.AspNetCore.WebSockets": "0.2.0-*"
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netstandard1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8",
        "net461",
        "dnxcore50"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "Views",
      "wwwroot",
      "appsettings.json",
      "appsettings.dev.json",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

【问题讨论】:

  • 根据packagesearch.azurewebsites.net?q=SqlDependency 它不存在。虽然它可能会随 .NET Standard 2.0 一起提供,因为将添加超过 5000 个新的 API,以便更轻松地从 .NET Framework 迁移到 .NET Core
  • @Tseng,我也在找这个。 4个月后有更新吗?或者我应该切换到 owin 和完整的框架来构建具有 SqlDependency 的 SignalR 服务器?
  • 问过同样的问题,但.net core twitter.com/DamianEdwards/status/866464629819555840 中似乎不会支持此功能@
  • 注意:如果您计划将 SqlDependency 与 SQL Azure 一起使用,除非您拥有自己的托管实例 stackoverflow.com/questions/37640879,否则它将无法工作

标签: asp.net-core asp.net-core-mvc .net-core


【解决方案1】:

GitHub 上有一个基于 .Net Core 的开源解决方案: https://github.com/dyatchenko/ServiceBrokerListener

但是,我不确定性能,因为似乎多个客户端应用程序正在侦听更改正在创建专用队列。 因此,它的扩展性可能不如原始的 SqlDependency。

【讨论】:

    【解决方案2】:

    根据https://github.com/dotnet/corefx/issues/8188,它会出现在 .NET Core 2.1 中,但我还没有看到任何关于用法是否与 .NET Framework 不同的信息。我希望不会。

    【讨论】:

    猜你喜欢
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多