在IIS 7.5中托管xamlx Workflow服务错误

时间:2011-06-04 07:44:12

标签: workflow-foundation-4

我使用带有WWF 4(.Net 4)的Receive / SendReply创建了最基本的Web服务。我没有发布代码,因为问题与部署有关。

文档,因此我的期望是xamlx文件和web.config文件以及dll文件必须复制到IIS应用程序和bin文件夹,我已经完成了。通过Visual Studio启动时,该服务正常工作,但是当我将文件复制到IIS文件夹时,它会出现以下错误。

HTTP错误404.3 - 未找到 由于扩展配置,无法提供您请求的页面。如果页面是脚本,请添加处理程序。如果要下载文件,请添加MIME映射。

我已经检查了WWF示例中提供的web.config并发现它们是相同的,但是我在这里发布文件。

<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 个答案:

答案 0 :(得分:1)

只是扩展莫里斯的评论:

您应该以{strong>管理员的身份运行aspnet_regiis.exe -i

我将此文件放在:C:\Windows\Microsoft.NET\Framework\v4.0.30319

执行后(花了大约5秒钟),我得到了工作流运行所需的所有映射。

答案 1 :(得分:0)

听起来您缺少工作流程的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>