2011-06-04 100 views
0

我使用帶有WWF 4(.Net 4)的Receive/SendReply創建了最基本的webservice。由於該問題與部署有關,因此我沒有發佈代碼。託管xamlx IIS 7.5中的工作流服務出錯

該文檔,因此我的期望是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> 
+0

我注意到在處理程序映射中沒有* .xamlx映射,模塊列表中沒有C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll模塊。我在另一臺機器上發現了這些。這個問題就變成了我的機器上缺少的乳清,我該如何安裝它?我正在使用Windows Ultimate 7和Visual Studio 2010. – 2011-06-04 09:22:51

回答

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> 
+0

我重新安裝了.net Framework 4,它在IIS中爲* .xamlx文件添加了模塊和模塊映射。服務剛開始工作。該死,多花點時間搞清楚。 – 2011-06-04 10:05:12

+1

在有問題的計算機上運行.NET 4後,IIS是否安裝?在這種情況下,運行aspnet_regiis.exe應該可以解決問題。 – Maurice 2011-06-05 07:34:27

+0

是在.Net 4之後安裝了IIS,那就是問題所在。然而,我有其他人嘗試了aspnet_regiis,但他們沒有成功,最終重新安裝.Net 4。 – 2011-09-27 05:00:46

1

就擴大在莫里斯的評論:

您應該運行aspnet_regiis.exe -i作爲管理員

我在這個文件:C:\Windows\Microsoft.NET\Framework\v4.0.30319

執行它後(用了大約5秒鐘)我需要爲工作流運行的所有映射。