我正在尝试在Azure中托管ASP.NET Core 3.0 API:
def _recvAllMsg(self):
cont = True
allbuf = b""
while cont and self.socket is not None:
try: #this line added
buf = self.socket.recv(4096)
except OSError: #this line added
buf = b'' #this line added
allbuf += buf
logger.debug("len %d raw:%s|", len(buf), buf)
if len(buf) < 4096:
cont = False
return allbuf
但是当我运行应用程序时,我得到:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<PropertyGroup>
<IsPackable>false</IsPackable>
<NeutralLanguage>en-US</NeutralLanguage>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning" Version="3.*" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="3.*" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.*" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="3.*" />
</ItemGroup>
</Project>
我想念什么?
答案 0 :(得分:4)
ASP.NET Core 3.0 not currently available for Azure App Service. [Microsoft文档]
Azure服务上提供preview versions of .NET Core 3.0 [Microsoft Docs]。
答案 1 :(得分:1)
当前的picture是ASP.NET Core 3.0随处可见(但没有SDK)。
尽管有这个事实,我(貌似随机)得到了一个
HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
直到我意识到可以通过将web.config
设置为stdoutLogEnabled
来激活true
的登录,而无需将stdoutLogFile
调整为\\?\%home%\LogFiles\stdout
( Troubleshoot ASP.NET Core on Azure App Service and IIS中的建议)是导致此错误消息的原因。
花一些时间来了解这种因果关系。
答案 2 :(得分:0)
在web.config中进行更改:
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
对此:
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
我从此V2
中删除了modules="AspNetCoreModuleV2"
,它可以正常工作。