web-dev-qa-db-fra.com

Le déploiement de base Asp.net ne fonctionne pas sur le serveur mais sur la machine

J'essaie de déployer une application principale asp.net sur un serveur. J'ai fait les étapes suivantes.

la première chose à faire est d’abord, il s’agit d’un environnement Windows Server 2012 R2 qui est une toute nouvelle machine virtuelle.

  1. construire la VM
  2. mettre à jour toutes les mises à jour ms
  3. ajouter son rôle
  4. assurer asp.net 3.5 et 4.5 sont installés sur la machine
  5. assurer la redirection http et le contenu statique est installé
  6. installer .net core bundle 
  7. publier une application autonome à partir de Visual Studio (nom du projet Web)
  8. ajoutez ceci à un dossier sur le serveur.
  9. essayez de courir à partir de web.exe

Je reçois l’application de la console ouverte qui dit maintenant à l’écoute: http: // localhost: 5000 10. Je vais à http: // localhost: 5000 de Chrome sur cette machine et reçois un 404 non trouvé.

Je fais les étapes 7 8 9 et 10 sur la machine locale qui est Windows 10 je reçois mon application.

project.json

  {
      "dependencies": {
        "AutoMapper": "5.1.1",
        "EntityFramework": "6.1.3",
        "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
        "Microsoft.AspNetCore.Diagnostics": "1.0.0",
        "Microsoft.AspNetCore.Mvc": "1.0.0",
        "Microsoft.AspNetCore.Razor.Tools": {
          "version": "1.0.0-preview2-final",
          "type": "build"
        },
        "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
        "Microsoft.AspNetCore.StaticFiles": "1.0.0",
        "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
        "Microsoft.Extensions.Configuration.Json": "1.0.0",
        "Microsoft.Extensions.Logging": "1.0.0",
        "Microsoft.Extensions.Logging.Console": "1.0.0",
        "Microsoft.Extensions.Logging.Debug": "1.0.0",
        "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
      },

      "tools": {
        "BundlerMinifier.Core": "2.0.238",
        "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
      },

      "frameworks": {
        "net452": {
          "dependencies": {
            "DataAccess": {
              "target": "project"
            },
            "Models": {
              "target": "project"
            }
          }
        }
      },

      "buildOptions": {
        "emitEntryPoint": true,
        "preserveCompilationContext": true
      },

      "publishOptions": {
        "include": [
          "wwwroot",
          "Views",
          "Areas/**/Views",
          "appsettings.json",
          "web.config"
        ]
      },
      "runtimes": {
        "win10-x64": {},
        "osx.10.11-64": {} 
      },
      "scripts": {
        "prepublish": [ "bower install", "dotnet bundle" ],
        "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
      }
    }

configure à partir de startup.cs

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        Mapper.Initialize(config =>
        {
            /*View Models*/
            config.CreateMap<Permit, PermitViewModel>().ReverseMap();
            config.CreateMap<PermitType, PermitTypeViewModel>().ReverseMap();
            config.CreateMap<Property, PropertyViewModel>().ReverseMap();
            config.CreateMap<Region, RegionViewModel>().ReverseMap();
            config.CreateMap<State, StateViewModel>().ReverseMap();
            config.CreateMap<User, UserViewModel>().ReverseMap();

            /*Dtos*/
            config.CreateMap<Permit, PermitDto>().ReverseMap();
            config.CreateMap<Property, PropertyDto>().ReverseMap();
            config.CreateMap<Region, RegionDto>().ReverseMap();
            config.CreateMap<State, StateDto>().ReverseMap();
            config.CreateMap<User, UserDto>().ReverseMap();
        });

        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory.AddDebug();

        app.UseApplicationInsightsRequestTelemetry();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseBrowserLink();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseApplicationInsightsExceptionTelemetry();

        app.UseStaticFiles();

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
    }
}

programme.cs

public static void Main(string[] args)
        {
            var Host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            Host.Run();
        }

mon objectif est d’avoir cette course sur IIS.

UPDATE

Logiciel: Microsoft Internet Information Services 8.5

Version: 1.0

Date: 2016-12-06 23:49:44

Champs: date heure s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs (User-Agent) cs (Référant) sc-status sc-status

sc-win32-status time pris 2016-12-06 23:49:44 fe80 :: 9c6d: a91b: 42c: 82ea% 12 OPTIONS/- 80 - fe80 :: c510: a062: 136b: abe9% 12 DavClnt - 200 0 0 1139 2016-12-06 23:49:47 fe80 :: 9c6d: a91b: 42c: 82ea% 12 OPTIONS/site Web - 80 - fe80 :: c510: a062: 136b: abe9% 12 Microsoft-WebDAV-MiniRedir/10.0.14393 - 200 0 0 46 2016-12-06 23:49:47 fe80 :: 9c6d: a91b: 42c : 82ea% 12 PROPFIND /Website - 80 - fe80 :: c510: a062: 136b: abe9% 12 Microsoft-WebDAV-MiniRedir/10.0.14393 - 404 0 2 62 2016-12- 06 23:49:47 Fe80 :: 9c6d: a91b: 42c: 82ea% 12 PROPFIND/site Web - 80 - Fe80 :: c510: a062: 136b: abe9% 12 Microsoft-WebDAV- MiniRedir/10.0.14393 - 404 0 2 62

c'est le message du journal que je reçois

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.Microsoft.com/fwlink/?LinkId=786380
  -->

  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>
7
JamTay317

Veuillez cocher "platform": "anycpu" dans la partie de la plateforme:

"Microsoft.NETCore.App": {
  "version": "1.0.0",
  "type": "platform"
},

et

 "buildOptions": {
   "platform": "anycpu",
   "emitEntryPoint": true,
   "preserveCompilationContext": true
},
3
Elnaz

C’est un problème qui bénéficierait vraiment d’une documentation supplémentaire. C'est juste comment je le fais et je ne dis pas que c'est la seule façon.

1.Assurez-vous que l'hébergement dotnetcore est installé 

2.Créez un pool d'applications qui cible "pas de code managé" 

3.Créez un site Web utilisant ce pool d'applications (vous définissez ici votre adresse IP et votre port sur lesquels IIS écoutera) 

4.Publiez un package de déploiement Web (Visual Studio) (qui vous donnera un dossier Zip) 

5.Déplacer ce dossier Zip sur le serveur 

6. Allez sur le site Web que vous avez créé et cliquez avec le bouton droit de la souris sur le site Web (assurez-vous que le site est arrêté) 

7.Je ne me souviens pas de l'option exacte, mais cela ressemble à quelque chose de "Gérer le site Web". Vous devriez avoir un autre menu qui vous donne l'option d'importer. 

8.Cliquez dessus et recherchez le dossier Zip. Vous pouvez configurer d’autres options. 

9.Une fois terminé, redémarrez le site Web. 

10.Vous devriez pouvoir accéder à votre application dans un navigateur à l'aide de l'adresse IP configurée pour le site Web dans IIS.

2
Patrick Mcvay

Si je ne me trompe pas, votre projet.json ne fait pas référence à asp.NET-core, mais au cadre complet:

"frameworks": {
    "net452": {
      "dependencies": {
        "DataAccess": {
          "target": "project"
        },
        "Models": {
          "target": "project"
        }
      }
    }
  },

Je pense que vous manquez ce quelque part pour cibler le .NETCore :)

"Microsoft.NETCore.App": {
  "version": "1.0.0",
  "type": "platform"
},
0
Jean