2017-03-02 38 views
0

在執行相當突兀的重構(重命名項目,移動服務等)之後 - 我發現ServiceManifest.xml和ApplicationManifest.xml中的適當配置不是爲無狀態和有狀態服務生成。ServiceFabric Stateless/StatefulServices不會重新生成所需的ServiceManifest.xml

步驟瑞普:

  1. 右鍵單擊現有服務織物應用項目(.sfproj)
  2. 添加>新服務織物服務...
  3. 選擇狀態服務
  4. 有看一下ServiceManifest.xml,你會看到:

    <!-- Code package is your service executable. --> 
    <CodePackage Name="Code" Version="1.0.0"> 
        <EntryPoint> 
        <ExeHost> 
         <Program>Stateless1.exe</Program> 
        </ExeHost> 
        </EntryPoint> 
    </CodePackage> 
    
    <!-- Config package is the contents of the Config directoy under PackageRoot that contains an 
        independently-updateable and versioned set of custom configuration settings for your service. --> 
    <ConfigPackage Name="Config" Version="1.0.0" /> 
    <Resources> 
        <Endpoints> 
        <!-- This endpoint is used by the communication listener to obtain the port on which to 
         listen. Please note that if your service is partitioned, this port is shared with 
         replicas of different partitions that are placed in your code. --> 
        <Endpoint Name="ServiceEndpoint" /> 
        </Endpoints> 
    </Resources> 
    
  5. 現在刪除ServiceManifest.xml

  6. 重新建立

我期待在構建重新創建的ServiceManifest.xml。如果您對StatefulService執行上述步驟,則會得到相同的結果。但是,如果您爲ActorService執行此操作,則ServiceManifest.xml將會重新生成得很好。

如果在ServiceManifest和ApplicationManifest中未定義StatelessService,則不會部署該服務。

這似乎可能是一個錯誤,有沒有人遇到過這個問題,並有一個解決方案?

回答

0

我有添加一個新的演員類似的問題。 就我而言,在添加新的Actor服務器之後,我必須在引入任何更改之前先構建解決方案。

+0

感謝您的回覆。你是對的,我也看到了,但這不是問題。看來Actor的配置只是在構建時生成(而不是添加到解決方案),這正是我所期望的,其中Services配置僅在添加到解決方案時生成,並且從不在構建時生成。你是否可以嘗試在問題中重新制作步驟,你是否看到同樣的事情? –