Потребление сервиса WCF в BizTalk 2006 R2

В общем, желательно, как минимум, добавить некластеризованный индекс для всех ваших внешних ключей, поскольку они, вероятно, будут часто использоваться в операциях JOIN (а иногда и в предикатах WHERE).

Если говорить конкретно о вашей ситуации, выбранный вами индекс содержит поле VARCHAR(MAX), которое будет влиять на то, как SQL Server решит его использовать. Поскольку VARCHAR(MAX) теоретически может расти до 2 ГБ данных, движок не будет хранить полевые данные на уровне страницы, поскольку он ограничен 8 КБ. В этом случае SQL Server решил, что наименее дорогостоящей операцией является сканирование индекса (что, кстати, не всегда плохо, особенно если селективность высока).

Моя рекомендация: держите индекс жестким и ограничьте его полем UserId, чтобы повысить производительность объединения. Мне не обязательно беспокоиться об индексе покрытия для вашего столбца Content, так как движок должен копать глубже, чем уровень страницы для этих данных.

create nonclustered index ix_posts_userid on dbo.Posts (UserID);

Просто помните, индексы не волшебны и определенно не являются серебряной пулей для всех проблем с производительностью. Правильно спроектированные они могут повысить эффективность системы за счет затрат. Подумайте, «административный персонал в офисе», они нанимают деньги. Но верните бизнесу эффективность в отношении эффективности.

В завершение, пожалуйста, не храните теги в виде списка через запятую, что, похоже, вы делаете здесь.

Вместо этого сохраняйте теги как общий ресурс и связывайте их через «таблицу соединений».

create table Tags (
    TagId int identity primary key
    ,Content nvarchar(128) not null -- or whatever width suits your needs
);

create table PostTags (
    PostId int not null
    ,TagId int not null
    ,primary key (PostId, TagId)
);
6
задан Dijkgraaf 9 April 2016 в 10:19
поделиться

3 ответа

BizTalk является излишеством, если Вы просто используете его для организации сервисов WCF. Можно использовать сервисы WCF в.NET 3,5 внутренней части Windows Workflow Foundation немного более легко.

Тем не менее вот скринкаст, который должен помочь:

http://www.pluralsight.com/community/blogs/aaron/archive/2007/11/15/49172.aspx

0
ответ дан 17 December 2019 в 07:10
поделиться

Ниже описание того, как сделать это - я собираюсь предположить, по крайней мере, элементарные знания вещей как отображение BizTalk, сообщите мне, должны ли Вы еще детализировать, и я обновлю.

После генерации объектов в BizTalk Вы должны иметь (самое меньшее):

  • Файл оркестровки с сообщениями и Типами порта создается
  • Схема, которая описывает сообщения, которые Вы отправляете и получаете от и до Вашего сервиса WCF
  • Файл .Binding.xml, который описывает контракт на обслуживание, выставленный сервисом WCF, и позволяет легкую конфигурацию в BizTalk

    1. Откройте файл оркестровки. Это должно быть пусто.
  • Перетащите Порт от панели инструментов на поверхность разработчика оркестровки.

  • Назовите порт соответственно.
  • Выберите, "Используют существующий Тип порта" - один из существующих типов порта будет Вашим сервисом WCF (созданный Добавлением Сгенерированного мастера Объектов)
  • Укажите, что Вы будете отправлять и получать сообщения
  • Укажите связывают позже

Этот порт должен иметь операционные сообщения Запроса и Ответа, и они должны были быть автоматически настроены для использования сообщений для сервиса WCF. Если Ваш сервис выставит несколько операций, то Вы будете видеть, что это отразилось здесь.

  1. Используя стандартные методы отображения BizTalk, отобразите данные, которые Вы хотите отправить службе WCF в сообщение запроса для порта WCf. (можно хотеть, чтобы изменение названия сообщения в разработчике оркестровки было чем-то лучше, чем значение по умолчанию message_1, message_2...),

  2. Перетащите Получают и Отправляют формы на разработчика оркестровки и подключают их к правильным сообщениям Порта.

  3. Обеспечьте электричеством остальную часть оркестровки BizTalk для взятия данных из соответствующих исходных систем (это - просто основной BizTalk, не WCF),

  4. Разверните приложение BizTalk.

    Приложение теперь готово пойти, можно развернуть его на BizTalk.

  5. Настройте приложение BizTalk

    • Откройте BizTalk Server 2006 Administration Console и найдите применение, содержащее оркестровку, которую Вы просто развернули.
    • orchestraion будет не включен в список, необходимо связать все его порты
      Для большинства портов это точно так же, как любое другое приложение BizTalk - только отличаются порты, которые имеют дело с сервисом WCF.

Для портов WCF у Вас есть (по крайней мере для начала) две основных опции:

  1. Импорт файл привязки, сделанный BizTalk, Генерирует мастер Объектов (щелчок правой кнопкой по applicaiton и импорту - перемещается к .xml по обязательному файлу) - Возможно, желательный, пока у Вас нет идеи того, как Biztalk представляет все параметры привязки WCF.
  2. Настройте свой собственный WCF, отправляют порт.

    • Для этого портом должен быть Требовать-ответ для соответствия сервису WCF.
    • Выберите один из WCF Отправляют Типы порта для соответствия типу привязки сервиса WCF.
      Для начала (для основного Веб-сервиса) это часто будет WCF-BasicHttp.
      После того как у Вас есть основы, работающие Вас, мог бы хотеть возвратиться сюда и экспериментировать с опциями, доступными в Пользовательской привязке - существует МНОГО там!
    • Настройте отправить порт.

С Вашим портом WCF, теперь созданным, можно связать порты оркестровки с ним.

После того как все это сделано, необходимо смочь запустить приложение BizTalk, и вещи должны работать.

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

Удачи!

4
ответ дан 17 December 2019 в 07:10
поделиться

Это очень просто, как и разработка других служб в BizTalk. Пусть будет проще.

  1. Просто развивайте свое желание рабочего процесса (оркестровки) и обслуживания.
  2. Откройте мастер веб-публикации WCF и установите флажок (а) Включить конечную точку метаданных, (б) Создать место приема BizTalk во встроенном приложении.
  3. Перейдите в консоль BizTalk, включите место приема и запустите приложение из консоли Biztalk.
  4. Затем просмотрите его в IE или Fire Fox, чтобы убедиться, что служба работает или нет. Теперь служба разработана. Давайте сделаем что-нибудь для его клиента.
  5. Перейдите в папку "c: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \" и запишите SVCUTL и свой URL-адрес вашей службы, т.е. c: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A. \ Bin \ svcutil localhost: axix // axx.svx? Wsdl, это скопирует два файла, один - output.config, а другой - BizTalkServiceInstance. вырежьте и вставьте оба файла в свой каталог, а затем посмотрите, как вы его потребляете. Думаю, это самое простое, что я пытался сделать. Спасибо Абдул Азиз Фаруки.
0
ответ дан 17 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: