0

我试图用ASP.NET与CloudFormation做一些特定的操作。在我的学习之旅中,我只是试图在Web显示中显示我的CloudFormation堆栈。免责声明 - 我不是一个专业的开发人员,并且正在努力工作,以便从几年前重新学习和更新我的知识。AWS CloudFormation .NET SDK

我一直在ASP.NET中使用样板AWS SDK模板,并在其中预览版本为AWS SDK that has CloudFormation capabilities,不幸的是,我很难将其examples from Console转换为Web。当我在检查/开发者模式下监控它时,网站甚至不会写入控制台。我在这些例子中清理了一些代码,以清除ec2和s3混乱。

图像例如:TTPS://pasteboard.co/GLhjCPt.png

Default.aspx.cs:

using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

using System.Text; 
using System.IO; 

using Amazon; 
using Amazon.CloudFormation; 
using Amazon.CloudFormation.Model; 
using Amazon.CloudFormation.Resources; 
using System.Linq; 

namespace AwsWebApp2 
{ 
    public partial class _Default : System.Web.UI.Page 
    { 
     protected IAmazonCloudFormation acf; 

     protected void Page_Load(object sender, EventArgs e) 
     { 

      sb = new StringBuilder(1024); 
      using (StringWriter sr = new StringWriter(sb)) 
      { 
       try 
       { 
        acf = new AmazonCloudFormationClient(); 
        this.WriteCloudFormationInfo(); 
       } 
       catch (AmazonCloudFormationException ex) 
       { 
        if (ex.ErrorCode != null && ex.ErrorCode.Equals("InvalidClientTokenId")) 
        { 
         sr.WriteLine("The account you are using is not signed up for Amazon CloudFormation."); 
         sr.WriteLine("<br />"); 
         sr.WriteLine("<br />"); 
        } 
        else 
        { 
         sr.WriteLine("Exception Message: " + ex.Message); 
         sr.WriteLine("<br />"); 
         sr.WriteLine("Response Status Code: " + ex.StatusCode); 
         sr.WriteLine("<br />"); 
         sr.WriteLine("Error Code: " + ex.ErrorCode); 
         sr.WriteLine("<br />"); 
         sr.WriteLine("Error Type: " + ex.ErrorType); 
         sr.WriteLine("<br />"); 
         sr.WriteLine("Request ID: " + ex.RequestId); 
         sr.WriteLine("<br />"); 
         sr.WriteLine("<br />"); 
        } 
        this.acfPlaceholder.Text = sr.ToString(); 
       } 
      } 

     } 

     private void WriteCloudFormationInfo() 
     { 
      var cf = new CloudFormation(); 

      foreach (var stack in cf.GetStacks()) 
      { 
       Console.WriteLine("Stack: {0}", stack.Name); 
       Console.WriteLine(" Status: {0}", stack.StackStatus); 
       Console.WriteLine(" Created: {0}", stack.CreationTime); 

       var ps = stack.Parameters; 

       if (ps.Any()) 
       { 
        Console.WriteLine(" Parameters:"); 

        foreach (var p in ps) 
        { 
         Console.WriteLine(" {0} = {1}", 
          p.ParameterKey, p.ParameterValue); 
        } 

       } 

      } 
     } 

    } 
} 

Default.aspx的:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AwsWebApp2._Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head id="Head1" runat="server"> 
    <title>My AWS Enabled Application - AwsWebApp2</title> 
    <link rel="stylesheet" href="styles/styles.css" type="text/css" media="screen" charset="utf-8"/> 
</head> 
<html> 
<body> 
<div id="content" class="container"> 

    <div class="section grid grid5 gridlast ec2"> 
     <h2>Amazon CloudFormations:</h2> 
     <ul> 
      <asp:Label ID="acfPlaceholder" runat="server"></asp:Label> 
     </ul> 
    </div> 

</div> 
</body> 
</html> 

回答

0

使用System.Diagnostics程序.Debug.Writeline()当你选择“Show output from(dropdown)Debug”时,这将显示在Visual Studio的Output窗口中。