Хостинг службы xamlx Workflow в IIS 7.5 с ошибками - PullRequest
0 голосов
/ 04 июня 2011

Я создал самый простой веб-сервис, используя Receive / SendReply с WWF 4 (.Net 4). Я не публикую код, поскольку проблема связана с развертыванием.

Документация, и поэтому я ожидаю, что файл xamlx и файл web.config вместе с файлами dll необходимо скопировать в приложение IIS и папки bin, что я и сделал. Служба работает нормально при запуске через Visual Studio, однако при копировании файлов в папку IIS выдает следующую ошибку.

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

Я проверил файл web.config, предоставленный в примерах WWF, и обнаружил, что они совпадают, однако я выкладываю файл здесь.

<compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <bindings />
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

Ответы [ 2 ]

1 голос
/ 09 апреля 2013

Просто развернем комментарий Мориса:

Вы должны запустить aspnet_regiis.exe -i от имени администратора .

У меня был этот файл в: C:\Windows\Microsoft.NET\Framework\v4.0.30319

После его выполнения (это заняло около 5 секунд) у меня были все сопоставления, необходимые для запуска рабочего процесса.

0 голосов
/ 04 июня 2011

Похоже, вам не хватает httpHandler для рабочих процессов. Обычно это на вашем компьютере web.config.

<configuration>
  <configSections>
    <sectionGroup name="system.xaml.hosting"
                  type="System.Xaml.Hosting.Configuration.XamlHostingSectionGroup, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <section name="httpHandlers"
               type="System.Xaml.Hosting.Configuration.XamlHostingSection, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </sectionGroup>
  </configSections>

  <system.xaml.hosting>
    <httpHandlers>
      <add xamlRootElementType="System.ServiceModel.Activities.WorkflowService, System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
           httpHandlerType="System.ServiceModel.Activities.Activation.ServiceModelActivitiesActivationHandlerAsync, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add xamlRootElementType="System.Activities.Activity, System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
           httpHandlerType="System.ServiceModel.Activities.Activation.ServiceModelActivitiesActivationHandlerAsync, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </httpHandlers>
  </system.xaml.hosting>
...