我们尝试在Service Fabric上托管ASP.Net核心MVC RC1 DNX项目。部署有效,但项目尚未启动。根据我们的日志,似乎服务结构无法找到启动类并创建实例。我们下载了一个工作正常的演示项目,但我们无法启动和运行我们的项目。我们看不到任何有用的日志信息的和平。不在事件日志,服务结构日志流或Visual Studio调试提示中。我们可以做些什么来启用更多的调试信息。我们的配置或项目设置可能有什么问题?这是我们项目的关键部分:
ServiceManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="WebPkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<StatelessServiceType ServiceTypeName="WebType" >
<Extensions>
<Extension Name="__GeneratedServiceType__">
<GeneratedNames xmlns="http://schemas.microsoft.com/2015/03/fabact-no-schema">
<DefaultService Name="WebTypeService" />
<ServiceEndpoint Name="WebTypeEndpoint" />
</GeneratedNames>
</Extension>
</Extensions>
</StatelessServiceType>
</ServiceTypes>
<CodePackage Name="C" Version="1.0.0">
<EntryPoint>
<ExeHost>
<Program>approot\runtimes\dnx-clr-win-x64.1.0.0-rc1-update2\bin\dnx.exe</Program>
<Arguments>--appbase approot\src\Sportflash.Web Microsoft.Dnx.ApplicationHost Microsoft.ServiceFabric.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel</Arguments>
<WorkingFolder>CodePackage</WorkingFolder>
<ConsoleRedirection FileRetentionCount="5" FileMaxSizeInKb="2048" />
</ExeHost>
</EntryPoint>
</CodePackage>
<Resources>
<Endpoints>
<Endpoint Protocol="http" Name="WebTypeEndpoint" Type="Input" Port="5000" />
</Endpoints>
</Resources>
</ServiceManifest>
project.json:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"EntityFramework": "6.1.3",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Facebook": "1.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Google": "1.0.0-rc1-final",
"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-rc1-final",
"Microsoft.AspNet.Authentication.Twitter": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Microsoft.ServiceFabric.AspNet.Hosting": "1.0.0-rc1",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final",
"Sportflash.Web.Core": "1.0.0-*",
"Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
"angular-signalr-hub.TypeScript.DefinitelyTyped": "0.6.7",
"Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0-rc1-final",
"Microsoft.Extensions.Localization.Abstractions": "1.0.0-rc1-final",
"Microsoft.AspNet.Localization": "1.0.0-rc1-final",
"Microsoft.Extensions.Localization": "1.0.0-rc1-final",
"jquery.TypeScript.DefinitelyTyped": "2.8.8",
"signalr.TypeScript.DefinitelyTyped": "0.2.0",
"Newtonsoft.Json": "8.0.3",
"Microsoft.CodeAnalysis": "1.1.0-rc1-20151109-01"
},
"userSecretsId": "aspnet5-Sportflash.Web-f067f2f7-086e-4a52-88ea-a7317d1b11e8",
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"gen": "Microsoft.Extensions.CodeGeneration"
},
"frameworks": {
"dnx451": {
"dependencies": {
}
}
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components",
"PackageRoot"
],
"publishExclude": [
"node_modules",
"bower_components",
"PackageRoot",
"**.user",
"**.vspscc"
],
"scripts": {
"postrestore": [ "npm install", "bower install" ],
"prepublish": [ "npm install", "bower install" ]
}
}
Startup.cs:
public class Startup
{
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}
答案 0 :(得分:2)
我建议在GitHub上探讨这个例子。
此示例演示了如何在无状态/有状态服务的通信侦听器中使用ASP.NET Core。
此示例已更新为使用dotnet
cli。
有2个不同的分支dnx
和dotnetcli
。 dnx
分支可以在Visual Studio中使用。