1. エラー (以外) ハンドラーの堅牢性に対する最も基本的な要件は、プログラム エラーの処理とキャプチャです。ASP.NET では、エラー処理には他のプログラミング言語と同じメカニズムがあり、Try...Catch を使用できます。 ..最後に、これは ASP と比較して大きな改善です。さらに、これらのエラー処理方法を使用すると、プログラムの可読性とプログラムのデバッグ速度が大幅に向上するため、この点にさらに注意を払う必要があります。
エラー処理については、次の記事 (英語) を参照してください。
http://www.123aspx.com/redir.aspx?res=28336
2. 文字列処理 Web デザインでは、文字列処理がほぼ最も一般的です。 ASP.NET を使用すると、文字列処理が ASP よりも高速になります。さらに、ASP.NET では、このクラスを使用して一般的な文字列操作を実行できるようになります。文字列処理の速度が向上します。
ASP.NET で最も一般的なのは、「&」を使用して 2 つの文字列を接続することです。
Dim myOutputString As String = "私の名前は"
Dim myInputString As String = "Alex"
myOutputString = myOutputString & myInputString
Response.Write(myoutputString)
次に、StringBuilder の使用法を見てみましょう。StringBuilder を使用すると、追加、置換、挿入、削除などの基本的な操作を文字列に対して実行できます。次に、具体的な例を見てみましょう。
(1) StringBuilderでのAppendの使用
Append は他の言語の Append と同じで、文字列の末尾に他の文字を追加します。
Dim sb as StringBuilder = New StringBuilder()
sb.append( "<table border='1' width='80%'>" )
i = 0 から RowCount - 1 まで
sb.Append("<tr>")
k = 0 から ColCount - 1 まで
sb.Append("<td>")
sb.Append( dt.Rows(i).Item(k, DataRowVersion.Current).toString())
sb.Append( "</td>" )
次
sb.Append("<tr>")
次
sb.Append( "</テーブル>")
Dim strOutput as String = sb.ToString()
lblCompany.Text = strOutput
上記のプログラムでは、テーブルの出力を実現するために Append メソッドが使用されています。注意すべき点は、直接出力する前に、StringBulider がまず ToString() メソッドを使用してテーブルを String 型に変換する必要があることです。上記の例では、文字列を直接追加するだけです。実際、このメソッドには非常に便利な機能があります。つまり、整数型の値を直接追加するなど、他のタイプの変数を直接追加できます。出力は後で自動的に文字列に変換されます。
Sub Page_Load(オブジェクトとしてのソース、EventArgsとしてのE)
Dim sb As System.Text.StringBuilder
整数としての Dim varother
ヴァロザー=9999
sb =new System.Text.StringBuilder()
sb.append("<font color='blue'>他のタイプを追加できます: </font>")
sb.append(varother)
Response.write(sb.toString())
エンドサブ
(2) 文字列での他のメソッドの使用 他のメソッドも使用できます。一般的なメソッドを見てみましょう。
Insert メソッドは、指定した位置に他の文字を挿入できます。 使用方法: Insert (位置の挿入、文字の挿入);
Remove メソッドは、指定した位置の指定した英数字を削除します。 使用方法: Remove (実際の位置、文字数);
Replaceメソッドは指定した文字を置換することができます。 使用方法:replace(置換文字列、置換文字列)
文字列の詳細な紹介と使用法については、次の記事 (英語) を参照してください。
http://aspfree.com/aspnet/stringbuilder.aspx
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemTextStringBuilderClassTopic.asp
3. データベース リンク接続と DataReader を閉じる ASP プログラミングを使用する場合、データベース接続を使用した後、接続を閉じて NoThing に設定する必要があることはすでにわかっています。 Asp.NET では、引き続きこの方法で使用する必要があります。ただし、ASP.NET では、ADO.NET を使用するため、関連する処理の側面にいくつかの微妙な違いがあり、これらの違いは多くの場合、次のようになります。デザインするときに一番気を付けなければいけないこと。ここで、例を挙げて、一般的な ADO.NET 操作においてどのような問題に注意する必要があるかを見てみましょう。
(1) 例1
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("パブリッシャーから pub_id、pub_name を選択", myConnection)
myDataReader を SqlDataReader として暗くする
試す
myConnection.Open()
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
dropDownList1.DataSource = myDataReader
ドロップダウンリスト1.DataBind()
myException を例外としてキャッチする
Response.Write("エラーが発生しました: " & myException.ToString())
ついに
そうでない場合、myDataReader は何もありません
'データリーダーを閉じる
myDataReader.Close()
終了の場合
試行を終了する
上の例では、DataReader のみが閉じられており、Connection は閉じられていないことがわかりました。なぜ?上記の ExecuteReader メソッドを注意深く観察してください。ExecuteReader パラメータが設定されると、Connection が自動的に閉じられることがわかります。したがって、これを設定した後、手動で接続を閉じる必要はありません。
(2) 例2
Dim myConnection As SqlConnection = new SqlConnection(ConfigurationSettings.AppSettings("DSN_pubs"))
Dim myCommand As SqlCommand = new SqlCommand("パブリッシャーから pub_id、pub_name を選択", myConnection)
試す
myConnection.Open()
dropDownList1.DataSource = myCommand.ExecuteReader()
ドロップダウンリスト1.DataBind()
myException を例外としてキャッチする
Response.Write("エラーが発生しました: " & myException.ToString())
ついに
myConnection が何もない場合 AndAlso ((myConnection.State および ConnectionState.Open) = ConnectionState.Open)
myConnection.Close()
終了の場合
試行を終了する
上の例では、DataReader が閉じられていないことがわかりました。なぜ?実際、上記のコードでは DataReader オブジェクトは直接生成されておらず、もちろんそれを閉じる方法はありません。注意すべき点は、接続を閉じる前に、プログラムはまず接続が開いているかどうかを判断し、開いていない場合は閉じる必要がないことです。
4. Web.Config/Maching.Config を使用して、頻繁に使用する必要があるデータを保存します。たとえば、ADO.NET を使用する場合、最も一般的なのはデータベース接続ステートメントです。アプリケーション内の情報。もちろん、これは ASP.NET でも実行できます。ただし、ASP.NET には構成ファイル WEB.Config がすでに提供されているため、この情報を WEB.Config に保存することをお勧めします。 もちろん、Machine に保存することもできます。 .Config ただし、この場合は Web サイト全体を使用する必要があるため、通常は Web.Config を使用します。次に、このファイルの具体的な使用方法を見てみましょう。
(1) Web.Config ファイルの設定 まず、Web.Config の設定を見てみましょう。このファイルには次の 2 つの項目が追加されます。
<構成>
<アプリ設定>
<add key="dsn" value="myserver"/>
<add key="someotherkey" value="somevalue"/>
</アプリ設定>
</設定>
(2) 変数の使用 上記の XML ファイルでは、dsn と someotherkey という 2 つの変数が設定されています。次に、それらをプログラム内で使用する方法を見てみましょう。
<html>
<script language="VB" runat=server>
Sub Page_Load(Sender をオブジェクトとして、E を EventArgs として)
Dim AppSettings as Hashtable = Context.GetConfig("appsettings")
DSN.Text = AppSettings("dsn")
SomeOther.Text = AppSettings("someotherkey")
エンドサブ
</script>
<本文>
DSN 設定: <asp:label id="DSN" runat=server/> <br>
その他の設定: <asp:label id="SomeOther" runat=server/>
</body>
</html>
上記のプログラムを見ると、このように定義された変数の使用が非常に簡単で便利であることがわかります。
5. .NET を使用してプログラムをデバッグする
ASP プログラムのデバッグは、ASP を作成する上で常に最も難しい部分です。誰もが Response.write を使用してデバッグを行うため、ASP プログラマーはおそらくこれを深く理解しています。この種のデバッグの最大の欠点は、プログラム コードが数百行に達したり、ページ数が多いプログラムの場合、デバッグが終了したときに情報を 1 つずつ削除したりコメントアウトしたりする必要があることです。この種のデバッグは退屈です。私が最も恐れていることの 1 つは、これらのデバッグ書き込みを削除し忘れると、ユーザーが使用するときに不適切なデバッグ情報が表示される可能性があることです。
ASP.NET を使用した後、Trace を直接定義してプログラムをデバッグできます。上記の問題は、プログラムのデバッグ後に、Trace を直接 Off に設定するだけで、特定のページおよび Web.Config 設定ファイルで簡単に解決できます。この方法では、プログラムはデバッグ機能がなくなります。
(1) ページデバッグの実装 特定のページにデバッグ機能を実装する必要がある場合、次のように設定できます。
<%@ ページ言語="VB" トレース="True" %>
(2) WEB.Config を定義し、WEB.CONFIG に実装します。プログラムのデバッグを有効にすることもできます。
<構成>
<システム.ウェブ>
<trace Enabled="true" requestLimit="10" localOnly="false"/>
</system.web>
</設定>
上記の設定を使用してトレースを有効にすると、次のような特定のプログラムでトレースを使用してプログラムをデバッグできます。
Trace.Write("これはカスタム デバッグ情報です")
またはデバッガー変数:
Trace.Write("これは私の変数であり、その値は次のとおりです:" & myVariable.ToString())
上記の設定から、ASP.NET ではプログラムのデバッグ機能がすでに非常に便利で簡単であることがわかります。