生产中的ASP.NET Core 2.0 Angular 4通用应用程序
我发布了预渲染的Angular 4 Web应用程序(ASP.Net Core 2.0,aspnet-prerendering,aspnet-webpack,VS2017),并将其部署到IIS 8 Web服务器。 部署的捆绑包是预编译的,预渲染的,纯javascript,没有打字稿。
它按预期工作:从本地主机上的IIS服务器快速加载。 但是,如果我尝试通过域名(例如mysite.com)远程访问它,或从同一局域网中的另一台计算机与Web服务器进行访问,则需要20多秒才能收到来自服务器的第一个响应。 在浏览器中,“连接”到服务器后,应用程序的加载速度与在本地主机上的速度一样快。 只有远程访问是有问题的。
注1:作为一项测试,我在网站上添加了一个空白页面,该页面通过域名立即加载,但是当我导航到应用页面时,页面会变慢。 后面这个测试证明了DNS是可以的,并且它不是网络问题。
注2:另一个奇怪的是,它需要将node.exe复制到应用程序文件夹中。 否则它会抱怨,并且不会启动。
注3:我在web.config中也打开了stdout日志记录,并且日志文件包含一系列如下所示的错误:
fail: Microsoft.AspNetCore.NodeServices[0]
Response {
_body:
ProgressEvent {
type: 'error',
target:
XMLHttpRequest {
onloadstart: null,
onprogress: null,
onabort: null,
onerror: null,
onload: null,
ontimeout: null,
onloadend: null,
_listeners: [Object],
onreadystatechange: null,
_anonymous: undefined,
readyState: 4,
response: null,
responseText: '',
responseType: '',
responseURL: '',
status: 0,
statusText: '',
timeout: 0,
upload: [XMLHttpRequestUpload],
_method: 'GET',
_url: [Url],
_sync: false,
_headers: [Object],
_loweredHeaders: [Object],
_mimeOverride: null,
_request: null,
_response: null,
_responseParts: null,
_responseHeaders: null,
_aborting: null,
_error: null,
_loadedBytes: 0,
_totalBytes: 0,
_lengthComputable: false },
currentTarget:
XMLHttpRequest {
onloadstart: null,
onprogress: null,
onabort: null,
onerror: null,
onload: null,
ontimeout: null,
onloadend: null,
_listeners: [Object],
onreadystatechange: null,
_anonymous: undefined,
readyState: 4,
response: null,
responseText: '',
responseType: '',
responseURL: '',
status: 0,
statusText: '',
timeout: 0,
upload: [XMLHttpRequestUpload],
_method: 'GET',
_url: [Url],
_sync: false,
_headers: [Object],
_loweredHeaders: [Object],
_mimeOverride: null,
_request: null,
_response: null,
_responseParts: null,
_responseHeaders: null,
_aborting: null,
_error: null,
_loadedBytes: 0,
_totalBytes: 0,
_lengthComputable: false },
lengthComputable: false,
loaded: 0,
total: 0 },
status: 0,
ok: false,
statusText: '',
headers: Headers { _headers: Map {}, _normalizedNames: Map {} },
type: 3,
url: null }
有谁知道什么会导致20多秒的延迟? 为什么我需要使用应用程序部署节点可执行文件?
谢谢
链接地址: http://www.djcxy.com/p/52541.html上一篇: ASP.NET Core 2.0 Angular 4 universal app in production
下一篇: How to get localized string from ASP.NET Core Controller using IStringLocalizer?