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窗口中。