Azure 함수를 사용할 때 System.Net.Http
라이브러리에 많은 문제가 있습니다. 포털에 새로운 httptrigger 함수를 만들면 올바르게 작동합니다. 그러나 내 자신의 precompiled assembly을 사용하고 싶습니다. 내가이 일을 할 때 나는 모든 종류의 문제를 겪는다.Azure 함수 - System.Net.Http
내가보기에 하나의 증상은 전달 된 HttpRequestMessage
에 세부 사항이 없다는 것입니다. RequestUri은 비어 있으며 다른 속성 중 하나가 추가됩니다 (예 : 헤더 등. 매개 변수가 null이 아니라는 점에 유의하십시오. - 아무 것도 채워지지 않은 것처럼 보입니다.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net46</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.3" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MyOtherAssembly\MyOtherAssembly.csproj" />
</ItemGroup>
</Project>
Microsoft.AspNet.WebApi.Core
nuget 패키지는 system.net.http
포함
Exception while executing function: Functions.WebHookSync. mscorlib: Exception has been thrown by the target of an invocation. MyFunctionName.Functions: Method not found: 'System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<System.String,System.String>> System.Net.Http.HttpRequestMessageExtensions.GetQueryNameValuePairs(System.Net.Http.HttpRequestMessage)'.
내 .csproj 파일의 내용입니다 :
또 다른 증상은 GetQueryNameValuePairs
를 호출 할 때,이 말을 실패이다 라이브러리. 나는 이것과 관련된 여러가지 다른 너겟 패키지의 다양한 조합을 시도해 보았습니다. 그러나 운이 없었습니다.
누구나 내가이 기능을 작동시키기 위해 어떤 패키지를 사용해야하는지 알고 있습니까?
이것은 이제 작동하는 것 같습니다. 불행히도 GetQueryNameValuePairs 메서드가 포함되어 있지 않으므로 정규식을 사용하여 쿼리 문자열을 구문 분석합니다. 또한 다른 모든 라이브러리를 46 (.net 코어)에서 다운 그레이드해야만 체인 종속성 오류가 발생했습니다. 아마 Azure 함수는 곧 .NET Core (https://github.com/Azure/Azure-Functions/issues/98)를 지원할 것입니다. – Dan