Azureの機能を使用しているとき、私はSystem.Net.Http
図書館とのトラブルのかなり多くを抱えています。ポータルにまったく新しいhttptrigger関数を作成してもうまくいきます。しかし、私は自分のprecompiled assemblyを使用します。私がこれをすると、私はあらゆる種類の問題を抱えています。私が見ているAzureの機能 - System.Net.Http
一つの症状がで渡されるHttpRequestMessage
が、それには詳細を持っていないということです。 RequestUriは空で、他のプロパティのいずれかを加えたものです。ヘッダーなどがあります。パラメータはnullではないことに注意してください。何も入力されていないようです。
別の症状は、それがGetQueryNameValuePairs
を呼び出そうとした場合、それは言って失敗したということです。
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ファイルの内容です:
<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
が含まれていますライブラリ。私はこれに関連するさまざまなナゲットパッケージの様々な組み合わせを試みましたが、運がありません。誰もが、私はこの作業を取得するために使用すべきかのパッケージ
を知っていますか?ここで
これはうまくいきました。残念ながら、これにはGetQueryNameValuePairsメソッドが含まれていないため、正規表現を使用してクエリ文字列を解析しています。また、チェーンの依存関係のエラーが発生なったとして(.NETコアから)46にすべての私の他のライブラリをダウングレードする必要がありました。うまくいけば、Azure関数は.NET Coreをすぐにサポートします(https://github.com/Azure/Azure-Functions/issues/98)。 – Dan