SQL CLR, HttpWebRequest и регулирование подключений

Добрый день!

Я унаследовал довольно сложную базу данных MSSQL. В коде используются библиотеки DLL сборки CLR, которые вызываются из хранимых процедур.

В рамках этих библиотек DLL сборки CLR мы обращаемся к сторонней веб-службе через объект .Net 2.0 HttpWebRequest с сервера SQL. (Хотя я понимаю, что это не лучший способ сделать это, имейте в виду, что это было унаследовано, и мы находимся в процессе исправления.)

Вот затруднение, с которым мы сейчас сталкиваемся:

В настоящее время среда CLR SQL ограничена двумя (2) потоками исходящей связи (что подтверждено netstat).

Есть ли способ увеличить количество исходящих потоков с SQL-сервера с помощью конфигураций .Net или каким-либо другим способом, включая изменение сборки?

Элементы уже опробованы:

  • Увеличение рабочего потока IIS
  • Machine.Config:
    • processModel tuning
    • httpRuntime настройка
    • system.net connectionManagement настройки

Однако, какие бы изменения ни были внесены в конфигурацию .Net или в IIS, я не могу увеличить количество исходящих потоков. Я часами гуглил в Интернете, пытаясь найти ответ, касающийся HttpWebRequests, SQL CLR, сборок, типов разрешений, всего, что может помочь ...

Некоторые другие статистические данные, которые вы можете запросить:

  • Код, написанный в .NET версии 2.0
  • SQL Server 2008 R2 EE
  • Windows Server 2008 R2, IIS 7.5
  • sp_configure clr_enabled = true
  • Сборка / SP установлен на EXTERNAL_ACCESS
  • SP был построен С ШИФРОВАНИЕМ

Заранее благодарим вас за любую информацию, которую вы могли бы предоставить. Если вам что-то еще нужно, не стесняйтесь спрашивать.

J.R.


person J.R.    schedule 02.12.2011    source источник


Ответы (1)


Это было решено с помощью кода, в частности:

  • ServicePointManager.FindServicePoint (); и
  • ServicePointManager.DefaultConnectionLimit.

Эти две строки нужно было добавить в CLR, а затем перестроить сборку на SQL-сервере.

Надеюсь, это поможет кому-то позже в будущем.

J.R.

person J.R.    schedule 30.12.2011