导航到IIS发布的.netcore应用程序时出现以下错误:
我已经设置了我的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="dotnet" arguments=".\KritnerWebsite.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
</system.webServer>
</configuration>
不确定此警告是否相关或仅过时:
严重级代码说明项目文件行源抑制状态 警告元素'system.webServer'具有无效的子元素'aspNetCore'。可能的元素列表:'asp,caching,cgi,defaultDocument,directoryBrowse,globalModules,handlers,httpCompression,webSocket,httpErrors,httpLogging,httpProtocol,httpRedirect,httpTracing,isapiFilters,modules,applicationInitialization,odbcLogging,security,serverRuntime,serverSideInclude,staticContent ,跟踪,urlCompression,验证,管理,重写'。 KritnerWebsite D:\ gitWorkspace \ KritnerWebsite \ src \ KritnerWebsite \ web.config 12 Build
web.config中的行是按照模板的,我只是将“{”更改为“{”为stdoutLogEnabled
。
我还在根目录“logs”中创建了一个空文件夹 - 我不确定这是否应该自动创建。无论哪种方式,都没有写入日志,所以我不确定下一步该尝试什么。
我在我的主机上打开了VS2015中的解决方案,编译并通过命令行/ localhost成功运行dotnet run
。这是在生产配置中运行它,因此从我的环境变量中获取洞察密钥和连接字符串。所以我不确定为什么该网站会通过dotnet run
在我的主机上成功运行,但不会在发布到IIS时成功运行
如何获得有关错误的更多信息?
答案 0 :(得分:0)
我不确定究竟是什么导致日志开始在./logs
中正确录制...但他们确实如此。现在记录的异常我可以看到我在环境变量中设置的连接字符串已关闭。
仍然不确定是什么导致日志没有写出来让我更快地确定。
更新我的环境变量并按照https://serverfault.com/questions/193609/make-iis-see-updated-environment-path-variable运行iisreset
后,我的网站正在正常投放。