Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Core 1.1在发布时无法运行_C#_Asp.net_Iis_Asp.net Core - Fatal编程技术网

C# ASP.NET Core 1.1在发布时无法运行

C# ASP.NET Core 1.1在发布时无法运行,c#,asp.net,iis,asp.net-core,C#,Asp.net,Iis,Asp.net Core,我有一个ASP.NET核心应用程序,我刚刚升级到1.1。这个应用程序以前运行良好,我可以发布它(通过VisualStudio中的publish命令),并且在IIS下运行良好。我最近将其更改为1.1,并使应用程序在调试模式下运行良好。现在当我发布它时,我得到了 502 - Web server received an invalid response while acting as a gateway or proxy server. 我打开了失败的请求跟踪规则,在那里我看到了以下内容 MODU

我有一个ASP.NET核心应用程序,我刚刚升级到1.1。这个应用程序以前运行良好,我可以发布它(通过VisualStudio中的publish命令),并且在IIS下运行良好。我最近将其更改为1.1,并使应用程序在调试模式下运行良好。现在当我发布它时,我得到了

502 - Web server received an invalid response while acting as a gateway or proxy server.
我打开了失败的请求跟踪规则,在那里我看到了以下内容

MODULE_SET_RESPONSE_ERROR_STATUS 

ModuleName httpPlatformHandler 
Notification EXECUTE_REQUEST_HANDLER 
HttpStatus 502 
HttpReason Bad Gateway 
HttpSubStatus 3 
ErrorCode The server is currently disabled. (0x8007053d) 
我发布的web.config文件如下所示

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <remove name="httpPlatform" />
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\Cranalytics.dll" forwardWindowsAuthToken="true" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
</configuration>
{
  "dependencies": {
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
    "Microsoft.EntityFrameworkCore": "1.1.0",
    "Microsoft.EntityFrameworkCore.InMemory": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",

    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.1.0",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",

    "Microsoft.Extensions.Caching.Memory": "1.1.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",

    "Syncfusion.Compression.MVC": "14.2600.0.32-preview2-final",
    "Syncfusion.XlsIO.MVC": "14.2600.0.32-preview2-final",

    "Microsoft.ApplicationInsights.AspNetCore": "1.0.2",

    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.1.0",

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

    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0"
  },

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

  "frameworks": {
    "netcoreapp1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
    //"net461": {
    //  "dependencies": {
    //  },
    //  "imports": "dnxcore50"
    //}
  },

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

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config",
      "appsettings.Production.json",
      "appsettings.Staging.json",
      "appsettings.json"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}
我无法找出配置或IIS的问题所在

编辑: 我对配置做了一些更改,现在已经过了模块加载部分(至少根据跟踪日志)。现在我每次访问网站都会得到404分。我可以毫无问题地查看静态图像,但当我查看站点的主页时,会出现404错误

ModuleName AspNetCoreModule 
Notification EXECUTE_REQUEST_HANDLER 
HttpStatus 404 
HttpReason Not Found 
HttpSubStatus 0 
ErrorCode The operation completed successfully. (0x0) 
我发布的目录结构是IIS(/Cranalytics)中根站点下面的子站点。然后在该文件夹中是所有各种DLL以及web.config。此目录下是项目中的wwwroot目录。IIS子网站被设置为指向根站点(/Cranalytics)。

一些有用的想法

1.Check Directory Browsing of your website if it is in enable state or not.
2.Try to separate your project to a new website with different port.
-also configure the newly created web site of course.
3.framework in application pool vs project, it must be the same.
一些有用的想法

1.Check Directory Browsing of your website if it is in enable state or not.
2.Try to separate your project to a new website with different port.
-also configure the newly created web site of course.
3.framework in application pool vs project, it must be the same.

问题是该站点正在从RC1更新到1.1。为了让RC1正常工作,我需要撤销一些事情。在IIS中,当我创建站点时,我已经将路径从子站点Cranalytics的根更改为其下的wwwroot。这件事必须撤销

然后在配置中,我需要这样的东西,因为它是一个子网站。这也必须删除

        //if (env.IsDevelopment())
        //{
        //    Configure1(app, env, loggerFactory, context);
        //}
        //else
        //{
        //    app.Map("/Cranalytics", app1 => Configure1(app1, env, loggerFactory, context));
        //}

问题是该站点正在从RC1更新到1.1。为了让RC1正常工作,我需要撤销一些事情。在IIS中,当我创建站点时,我已经将路径从子站点Cranalytics的根更改为其下的wwwroot。这件事必须撤销

然后在配置中,我需要这样的东西,因为它是一个子网站。这也必须删除

        //if (env.IsDevelopment())
        //{
        //    Configure1(app, env, loggerFactory, context);
        //}
        //else
        //{
        //    app.Map("/Cranalytics", app1 => Configure1(app1, env, loggerFactory, context));
        //}

为什么是旧的IIS包?当前版本是您是否也安装了1.1.0运行时?tseng我将其更改为1.1.0-preview4-final Martin我已在服务器上安装DotNetCore.1.1.0-WindowsHosting您的项目框架与应用程序池中的框架相同?项目框架是ASP.NET Core 1.1,而AppPool没有托管代码作为框架版本为什么旧的IIS包?当前版本是您是否也安装了1.1.0运行时?tseng我将其更改为1.1.0-preview4-final Martin我已在服务器上安装DotNetCore.1.1.0-WindowsHosting您的项目框架与应用程序池中的框架相同?项目框架是ASP.NET Core 1.1,AppPool没有托管代码作为框架版本AppPool的.NET CLR版本设置为无托管代码。已启用目录浏览。我无法创建单独的网站。因为它位于已建立的服务器上。同一台服务器上还有其他1.0版的子网站,甚至还有一些是ASP.NET的RC。我创建了另一个测试网站是IIS,它使用端口88来测试这一点,然后将该网站的副本复制到新端口88网站下的子网站中,当我通过IP:88查看新网站时,也出现了同样的错误。我尝试从新站点上的模块列表中删除httpPlatformHandler,但随后出现另一个错误,即“Handler”httpPlatformHandler“在其模块列表中有一个坏模块”httpPlatformHandler“AppPool的.NET CLR版本设置为无托管代码。已启用目录浏览。我无法创建单独的网站。因为它位于已建立的服务器上。同一台服务器上还有其他1.0版的子网站,甚至还有一些是ASP.NET的RC。我创建了另一个测试网站是IIS,它使用端口88来测试这一点,然后将该网站的副本复制到新端口88网站下的子网站中,当我通过IP:88查看新网站时,也出现了同样的错误。我试图从新站点上的模块列表中删除httpPlatformHandler,但随后出现了另一个错误,即“Handler”httpPlatformHandler“在其模块列表中有一个坏模块“httpPlatformHandler”