我想在现有的Service Fabric集群中添加一个新的.NET Core RC2 MVC应用程序,但我无法弄清楚我应该如何做到这一点.
我看了几个RC1的例子,但这也没有让我更进一步.
我知道您需要在ServiceManifest.xml文件中添加一个EntryPoint.
但在RC1示例中,它们指向已在RC2中删除的dnx.exe:
<EntryPoint> <ExeHost> <Program>approot\runtimes\dnx-clr-win-x64.1.0.0-rc1-update1\bin\dnx.exe</Program> <Arguments>--appbase approot\src\ChatWeb Microsoft.Dnx.ApplicationHost Microsoft.ServiceFabric.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener</Arguments> <WorkingFolder>CodePackage</WorkingFolder> <ConsoleRedirection FileRetentionCount="5" FileMaxSizeInKb="2048" /> </ExeHost> </EntryPoint>
我应该在RC2版本的.NET Core中使用哪个EntryPoint?
谢谢!
解决方法
看看这个公告:
如您所见,带有RC2的ASP.NET Core应用程序成为控制台应用程序.
也就是说,您的入口点是您的ASP.NET核心控制台应用程序编译出来的EXE.
因此,依靠DNX从Startup.cs中获取Main方法,您可以在Program.cs中设置工具链,然后构建一个Service Fabric将用于Entry的EXE.
public class Program { public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseStartup<Startup>() .Build(); host.Run(); } }
所以你的清单会是这样的:
<EntryPoint> <ExeHost> <Program>YourApp.Exe</Program> </ExeHost> </EntryPoint>