这是一段代码:
//Publishing the topic
snsClient.Publish(new PublishRequest
{
Subject = Constants.SNSTopicMessage,
Message = snsMessageObj.ToString(),
TopicArn = Settings.TopicArn
});
我收到以下错误:
底层连接已关闭:预期的连接 保持活着由服务器关闭。
但无法知道如何解决这个问题。任何提示或链接都会有所帮助。
答案 0 :(得分:2)
我们遇到了完全相同的问题。我们每天大约有40次出现此错误,不到我们发出的成功推送通知的0.1%。
我们的解决方案?将AWSSDK NuGet软件包从1.5.30.1更新到2.3.52.0(最新的v2版本,以便于升级)。一旦我们更新,错误就会停止发生。我浏览了很多发行说明,但没有找到任何具体提到这个问题的内容。我们不知道为什么更新有效,但确实如此。
我希望这可以帮助您和其他任何人解决此问题。
答案 1 :(得分:0)
如果满足下列一个或多个条件,则可能会出现此问题:
•发生网络中断。
•代理服务器阻止HTTP请求。
•出现域名系统(DNS)问题。
•出现网络身份验证问题。
[https://nilangshah.wordpress.com/2007/03/01/the-underlying-connection-was-closed-unable-to-connect-to-the-remote-server/] 1
答案 2 :(得分:0)
看看示例aws sns请求代码(来自https://stackoverflow.com/a/13016803/2318852)
// Create topic
string topicArn = client.CreateTopic(new CreateTopicRequest
{
Name = topicName
}).CreateTopicResult.TopicArn;
// Set display name to a friendly value
client.SetTopicAttributes(new SetTopicAttributesRequest
{
TopicArn = topicArn,
AttributeName = "DisplayName",
AttributeValue = "StackOverflow Sample Notifications"
});
// Subscribe an endpoint - in this case, an email address
client.Subscribe(new SubscribeRequest
{
TopicArn = topicArn,
Protocol = "email",
Endpoint = "sample@example.com"
});
// When using email, recipient must confirm subscription
Console.WriteLine("Please check your email and press enter when you are subscribed...");
Console.ReadLine();
// Publish message
client.Publish(new PublishRequest
{
Subject = "Test",
Message = "Testing testing 1 2 3",
TopicArn = topicArn
});
// Verify email receieved
Console.WriteLine("Please check your email and press enter when you receive the message...");
Console.ReadLine();
// Delete topic
client.DeleteTopic(new DeleteTopicRequest
{
TopicArn = topicArn
});