2016-10-05 54 views
1

我在新的.NET CORE框架中创建了一个Web API,它从我们的域中的服务器获取数据(本地机器也位于域中)。.NET核心Web API IIS部署本地机器

与IIS快速部署是好的它运行和工作。

当前构建了一个快速的xamarin应用程序来与我的Web API交谈,但是我仍然无法在我的手机上测试时连接到我的本地IISExpress。

所以我发布了我的web api到我的本地机器(rightr点击解决方案发布)。

我在我的机器上的IIS中设置了一个应用程序池,将其设置为非托管代码。 然后我创建了一个虚拟目录并指向该目录,然后将其转换为应用程序并将其分配给我的应用程序池。

当我naviagte到URL“http://localhost/MereWebAPI”我得到一个空白页,如所料。所以我然后用api“http://localhost/MereWebAPI/api/name/1”完成url,但是我仍然得到一个空白页。

所以我尝试了我的其他控制器执行简单的“GET”,而是用“[]”获得空白屏幕。

我错过了这里的任何步骤?

编辑:我appsettings.json

{ 
"ConnectionStrings": { 
"DefaultConnection":  "Server=server\\instance;Database=DEV01;Trusted_Connection=True" 
}, 
"Logging": { 
"IncludeScopes": false, 
"LogLevel": { 
    "Default": "Debug", 
    "System": "Information", 
    "Microsoft": "Information" 
} 
} 
} 

编辑:我的发布选项project.json

"publishOptions": { 
"include": [ 
    "wwwroot", 
    "**/*.cshtml", 
    "appsettings.json", 
    "web.config" 
] 
}, 
+0

验证出版像康涅狄格州串等所有条目'appsettings.json'这个时候这样的配置在发布版本失败,并在开发环境中工作正常,通常发生。 – Sanket

+0

我用appsettings更新了我的问题,看起来对我来说很好,我怎么能这样做? – lemunk

+0

您是否尝试过使用REST客户端来查看http响应和其他详细信息?另外,您的project.json是否包含publishOptions部分中API所需的所有文件? –

回答

0

您需要了解更多信息。

启用并检查应用程序日志.\logs\stdout

<system.webServer> 
    <handlers> 
     <add 
     name="aspNetCore" 
     path="*" 
     verb="*" 
     modules="AspNetCoreModule" 
     resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore 
     processPath=".\MyApp.exe" 
     arguments="%LAUNCHER_ARGS%" 
     stdoutLogEnabled="false"     <--- enable 
     stdoutLogFile=".\logs\stdout" />   <--- set path 
    </system.webServer> 
</configuration> 

检查IIS日志(你可能没有先启用它们)。事件查看器> Windows日志>应用程序。要深入了解,可以按事件级别等筛选当前日志。

IIS Application Logs