【发布时间】:2024-01-15 02:59:01
【问题描述】:
我们尝试在 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);
}
【问题讨论】:
-
试试看这个帖子:*.com/questions/33832635/…
-
如果部署好,打开Service Fabric资源管理器至少能在浏览器中看到服务吗?它不存在,那么这意味着它没有真正部署。
-
我可以在服务结构资源管理器中看到它。而且我还可以在您期望的位置看到服务结构文件夹中文件系统上的代码。我什至可以使用常用的 web 命令在 Service Fabric 部署它的地方启动应用程序。
标签: asp.net asp.net-core asp.net-core-mvc azure-service-fabric