mono を使用して DynamoDb に接続するコンソール アプリを実行しようとしていますが、Visual Studio からは正常に動作しますが、プログラムをコンパイルして Ubuntu サーバーで実行すると、次の出力が得られます。
[dev@dev Debug]$ mono Server.exe
Attempting call
Missing method .ctor in assembly /usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll, type Mono.Security.Protocol.Tls.CertificateValidationCallback2
Missing method .ctor in assembly /usr/local/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll, type Mono.Security.Protocol.Tls.CertificateValidationCallback2
Unhandled Exception:
Amazon.Runtime.AmazonServiceException: The request timed out ---> System.Net.WebException: The request timed out
at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in <filename unknown>:0
at Amazon.Runtime.AmazonWebServiceClient.getRequestStreamCallback (IAsyncResult result) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Amazon.Runtime.AmazonWebServiceClient.handleHttpWebErrorResponse (Amazon.Runtime.Internal.AsyncResult asyncResult, System.Net.WebException we) [0x00000] in <filename unknown>:0
at Amazon.Runtime.AmazonWebServiceClient.getRequestStreamCallback (IAsyncResult result) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: Amazon.Runtime.AmazonServiceException: The request timed out ---> System.Net.WebException: The request timed out
at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in <filename unknown>:0
at Amazon.Runtime.AmazonWebServiceClient.getRequestStreamCallback (IAsyncResult result) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at Amazon.Runtime.AmazonWebServiceClient.handleHttpWebErrorResponse (Amazon.Runtime.Internal.AsyncResult asyncResult, System.Net.WebException we) [0x00000] in <filename unknown>:0
at Amazon.Runtime.AmazonWebServiceClient.getRequestStreamCallback (IAsyncResult result) [0x00000] in <filename unknown>:0
これは私が実行していたコードです
using Amazon.DynamoDBv2;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace Server
{
class Program
{
static void Main(string[] args)
{
// adding this has no affect, this is never even called
ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, error) => true;
using (var ddb = new AmazonDynamoDBClient(DynamoServer.Region)) egion))
{
Console.WriteLine("Attempting call");
Console.WriteLine(ddb.ListTables());
}
}
}
}
Mono 3.0.12 と 2.10.8 の両方で試しましたが、どちらも同じエラーが発生しました。AWSSDK 1.5.26.3 を使用しています。Server.exe ターゲット .net 4.0 のビルドに使用したプロジェクトで、単純に xbuild Server.csproj を実行してビルドしました
ssl と Missing method メッセージに関係があると思いますが、これをさらにデバッグするための提案や方法はありますか? この同じエラーが以前に発生したというレポートが見つからないようです。