9

Si tenta di ospitare un progetto DNX core MVC RC1 core su Service Fabric. L'implementazione funziona ma il progetto non si avvia. Secondo il nostro log, sembra che il service fabric non possa trovare la classe startup e creare un'istanza. Abbiamo scaricato un progetto dimostrativo che funziona bene, ma non possiamo portare il nostro progetto attivo e funzionante. Non possiamo vedere alcuna tranquillità di informazioni utili sul registro. Non nel registro eventi, nel flusso di log del fabric di servizio o con il prompt di debug dello studio visivo. C'è qualcosa che possiamo fare per abilitare più informazioni di debug. Cosa potrebbe esserci di sbagliato nella nostra configurazione o nella configurazione del progetto? Questo sono le parti principali del nostro progetto:ASP.Net progetto principale di hosting su fabric di servizio dos not start

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

Prova a guardare questo post: http://stackoverflow.com/questions/33832635/path-too-long-when-publishing-asp-net-5-from-visual-studio-2015 –

+0

Se lo spiegamento è bene, puoi almeno vedere il servizio nel browser quando apri l'esploratore di Service Fabric? Non è lì, quindi significa che non è stato realmente schierato. – alltej

+0

Posso vederlo nel servizio fabric explorer. E posso anche vedere il codice sul filesystem nella cartella fabric di servizio nel punto che ci si aspetterebbe. Posso persino avviare l'applicazione nel punto in cui Service Fabric lo distribuisce con il solito comando web. – Serge

risposta

2

io suggerisco a esplorare questo esempio su GitHub.

Questo esempio dimostra come ASP.NET Core può essere utilizzato in un listener di comunicazione di servizi stateless/stateful.

Questo esempio viene aggiornato per utilizzare dotnet cli.

Ci sono 2 diversi rami dnx e dotnetcli. Il ramo dnx può essere utilizzato all'interno di Visual Studio.

Problemi correlati