SQL CLR, HttpWebRequest и регулирование соединения - PullRequest
2 голосов
/ 02 декабря 2011

Добрый день!

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

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

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

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

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

Уже выполнено попыток:

  • Увеличение рабочего потока IIS
  • Machine.config:
    • настройка модели процесса
    • httpRuntime tuning
    • system.net connectionУстановка управления

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

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

  • Код, написанный на .NET версии 2.0
  • SQL Server 2008 R2 EE
  • Windows Server 2008 R2, IIS 7.5
  • sp_configure clr_enabled = true
  • Assembly / SP установлен на EXTERNAL_ACCESS
  • SP был построен с шифрованием

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

J.R. * * тысяча пятьдесят-одна

1 Ответ

4 голосов
/ 30 декабря 2011

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

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

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

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

J.R.

...