天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 科技論文 > 計算機論文 >

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

發(fā)布時間:2016-05-26 14:04

  本文關(guān)鍵詞:ASP.NET應(yīng)用,由筆耕文化傳播整理發(fā)布。


用VS2015中創(chuàng)建了一個非常簡單的ASP.NET5程序:

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

在Startup.cs中只輸入一行代碼:

using System; using Microsoft.AspNet.Builder; using Microsoft.AspNet.Http; namespace HellowAspNet5 { public class Startup { public void Configure(IApplicationBuilder app) { app.Run(context => context.Response.WriteAsync()); } } }

將Target KRE version改為CoreCLR:

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

在Visual Studio中按F5能正常運行,運行結(jié)果如下:

Hello, ASP.NET 5 world!

然后嘗試部署到IIS中運行,采用了2種方式:1)VS2015的Publish方式;2)手動復(fù)制文件的方式。

一、VS2015的Publish方式

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

發(fā)布出來有2個文件夾,一個是approot文件夾,,一個是wwwroot文件夾:

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

將IIS站點指向wwwroot文件夾,就能正常運行。

Hello, ASP.NET 5 world!

看一下wwwroot文件夾中的內(nèi)容:

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

神奇吧!就2個文件,一個是web.config,一個是AspNet.Loader.dll。

我寫的ASP.NET5程序跑哪去了?

打開web.config一看:

看到kre-app-base,似乎知道了,進(jìn)入approot\src\HelloAspNet5文件夾一看:

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

ASP.NET5應(yīng)用程序果然在這,但不是HelloAspNet5.dll(bin中也只有startup.prof),而是源代碼。

難道部署ASP.NET 5應(yīng)用程序要把源代碼一起部署?難道ASP.NET5在運行時動態(tài)編譯整個項目的源代碼?不解,這個問題暫且放一邊。

回過頭來看一下approot文件夾,只有2個文件夾,除了剛才看過的src文件夾,剩下就是packages文件夾:

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

不看不知道,一看嚇一跳!packages竟然有55.5M!

打開一看,哇!好多包包,數(shù)一數(shù),有64個?磥磉\行ASP.NET5應(yīng)用程序所需要的所有東西都在這了(除了AspNet.Loader.dll)。

再仔細(xì)一看,這么多包包中最耀眼的是一個超級豪華大包——KRE-CoreCLR-amd64.1.0.0-beta1,有50M。

這也是ASP.NET 5的一個變化,將運行環(huán)境與應(yīng)用程序打包在一起,各個應(yīng)用程序之間互不影響。

但是,運行一個只有寫了1行代碼的程序,竟然要帶上64個包包,有點說不過去。

下面試試手動部署。

二、嘗試手動部署

根據(jù)之前版本的ASP.NET應(yīng)用程序部署經(jīng)驗,先得將Web項目編譯成dll。但是在VS2015中即使成功編譯Web項目,bin中也不會有。

后來發(fā)現(xiàn)在項目的Build設(shè)置中選中Produce outputs on build,可以編譯出dll:

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

編譯出來的dll在artifacts\bin中可以找到,比如這里的artifacts\bin\HelloAspNet5\Release\aspnetcore50\HelloAspNet5.dll(編譯出來有162K)。

然后在IIS中新建一個站點,站點目錄中就放一個bin文件夾,其中只放一個HelloAspNet5.dll文件。

訪問時出現(xiàn)下面的錯誤:

HTTP Error 403.14 - Forbidden

這反過來證明AspNet.Loader.dll的用途,將它也復(fù)制到bin中。再訪問,依然出錯,但錯誤信息變了:

Couldn't determine an appropriate version of KRE to run.

參考第一種部署方式,通過web.config告訴AspNet.Loader所需要的KRE版本。于是添加web.config文件,添加如下的配置:

又出現(xiàn)新的錯誤:

Couldn't find package 'KRE-CoreCLR-amd64.1.0.0-beta1'. Locations probed: E:\AspNet5\WebSites\packages\KRE-CoreCLR-amd64.1.0.0-beta1 E:\AspNet5\packages\KRE-CoreCLR-amd64.1.0.0-beta1 E:\packages\KRE-CoreCLR-amd64.1.0.0-beta1

找不到CoreCLR的包,從中可以看出AspNet.Loader不會在當(dāng)前Web站點的目錄中找,而是從上一級目錄一直找到根目錄。

這個問題好解決,建一個packages文件夾,將KRE-CoreCLR-amd64.1.0.0-beta1復(fù)制過來。

繼續(xù)出現(xiàn)新的錯誤,而這次是讓人束手無策的錯誤:

External component has thrown an exception. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Runtime.InteropServices.SEHException: External component has thrown an exception. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [SEHException (0x80004005): External component has thrown an exception.] System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException) +361 [HttpException (0x80004005): External component has thrown an exception.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +541 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +122 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +731

然后。。。就沒有然后了,昨天折騰了半天也沒解決這個問題。

然后。。。今天就寫了這篇隨筆。

然后。。。對AspNet.Loader.dll產(chǎn)生了興趣。。。

目前IIS Web站點中的目錄結(jié)構(gòu):

在IIS中部署ASP.NET 5應(yīng)用程序遭遇的問題

【更新】

出現(xiàn)External component has thrown an exception異常之后,bin文件夾中會出現(xiàn)profile\startup.prof文件。

這里訪問的錯誤信息會變成:

The Main function returned unexpectedly with status code 0.


  本文關(guān)鍵詞:ASP.NET應(yīng)用,由筆耕文化傳播整理發(fā)布。



本文編號:50137

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/50137.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶51ceb***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
日韩美女偷拍视频久久| 丰满人妻熟妇乱又伦精另类视频| 加勒比东京热拍拍一区二区| 日韩精品中文字幕亚洲| 91人妻人人做人碰人人九色| 欧美日韩精品久久亚洲区熟妇人 | 日本成人中文字幕一区| 色哟哟国产精品免费视频| 国产精品午夜福利在线观看| 婷婷亚洲综合五月天麻豆| 欧美一区二区三区性视频| 欧美日韩视频中文字幕| 欧美亚洲三级视频在线观看| 国产超薄黑色肉色丝袜| av在线免费观看一区二区三区 | 91麻豆视频国产一区二区| 亚洲一区二区三区熟女少妇| 亚洲精品福利视频在线观看| 日本女优一色一伦一区二区三区 | 91亚洲精品亚洲国产| 一区二区不卡免费观看免费| 九七人妻一区二区三区| 人妻少妇久久中文字幕久久| 国产精品免费不卡视频| 清纯少妇被捅到高潮免费观看| 久草视频这里只是精品| 国产中文字幕久久黄色片| 日韩一级欧美一级久久| 69久久精品亚洲一区二区| 亚洲精品一区二区三区免| 丰满的人妻一区二区三区| 亚洲人午夜精品射精日韩| 亚洲午夜av一区二区| 亚洲国产精品无遮挡羞羞| 中文字幕佐山爱一区二区免费| 精品人妻一区二区三区四在线| 国产成人一区二区三区久久| 老外那个很粗大做起来很爽| 日韩人妻毛片中文字幕| 国产成人午夜福利片片| 亚洲国产香蕉视频在线观看|