开发者

Hosting xamlx Workflow service in IIS 7.5 errors out

开发者 https://www.devze.com 2023-03-10 14:37 出处:网络
I created the most basic webservice using the Receive/SendReply with WWF 4 (.Net 4). I am not posting the code since the problem is related with deployment.

I created the most basic webservice using the Receive/SendReply with WWF 4 (.Net 4). I am not posting the code since the problem is related with deployment.

The documentation and therefore my expectation is that the xamlx file and web.config file along with the dll files have to be copied to the IIS application and bin folders, which I have done. The service works fine when launched via Visual Studio however when I copy the files to the IIS folder, it gives the following error.

HTTP Error 404.3 - Not Found The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

I have checked against the web.config provided in the WWF samples and find that they are the same, however I am posting the file here.

<compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <bindings />
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavi开发者_运维百科or>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>


Just expanding on Maurice's comment:

You should run aspnet_regiis.exe -i as an administrator.

I had this file in: C:\Windows\Microsoft.NET\Framework\v4.0.30319

After executing it (it took around 5 seconds) I had all the mappings needed for the workflow to run.


It sounds like you are missing the httpHandler for the workflows. Normally this is in your machine 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>
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号