sql-server-2008 - SQL CLR、HttpWebRequest 和连接限制

标签 sql-server-2008 httpwebrequest .net-2.0 clr windows-server-2008

美好的一天!

我继承了一个相当复杂的 MSSQL 数据库。代码中使用的是从存储过程中调用的 CLR 程序集 DLL。

在这些 CLR 程序集 DLL 中,我们通过来自 SQL 服务器的 .Net 2.0 HttpWebRequest 对象访问第三方 Web 服务。 (虽然我知道这不是执行此操作的适当方法,但请记住这是继承的,我们正在修复此问题。)

这是我们目前遇到的困境:

SQL CLR 当前限制为两 (2) 个出站通信线程(经 netstat 验证)。

是否有任何方法可以通过 .Net 配置或其他方法(包括更改程序集)来增加 SQL Server 的出站线程数量?

已尝试的项目:

  • IIS工作线程增加
  • 机器配置:
    • 流程模型调整
    • httpRuntime 调整
    • system.net连接管理调整

但是,无论在 .Net 配置或 IIS 中进行什么更改,我都无法增加出站线程的数量。我花了几个小时在互联网上 Google 搜索,试图找到与 HttpWebRequests、SQL CLR、程序集、权限类型以及任何有帮助的内容相关的答案...

您可能要求的一些其他统计数据:

  • 用 .NET 2.0 版编写的代码
  • SQL Server 2008 R2 企业版
  • Windows Server 2008 R2、IIS 7.5
  • sp_configure clr_enabled = true
  • 程序集/SP 设置为 EXTERNAL_ACCESS
  • SP 是通过加密构建的

预先感谢您提供的任何信息。如果您还有其他需要,请随时询问。

J.R.

最佳答案

这是使用代码解决的,特别是:

  • ServicePointManager.FindServicePoint();和
  • ServicePointManager.DefaultConnectionLimit。

这两行代码需要添加到 CLR,然后在 SQL 服务器上重建程序集。

希望这对将来的人有所帮助。

J.R.

关于sql-server-2008 - SQL CLR、HttpWebRequest 和连接限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8359899/

相关文章:

sql - 类似SQL Server中的rank()

mysql - SQL Server 迁移到 mySQL、提示和潜在问题?

java - 请求重定向时是否可以跟踪输入设备

c# - 在 foreach 循环中编辑字典值

ASP.Net RSS 源

asp.net - 存储可变数据

c# - HTTP文件上传边界选择

c# - 烦恼! POST 在 HttpWebRequest 中返回 302 发现对象移动错误

c# - 递归子文件夹设置文件属性

database - 什么时候锁定数据库表?