ほとんどのウェブプログラミングはです。ステートレスです。デスクトッププログラミングでは、個々の機能は通常ステートレスです。あなたは必要な情報をすべてパラメータとして渡し、必要なものすべてを手に入れます。しかし、メインプログラムにはいくつかの状態が保存されます。
リッチインターネットアプリケーションは、多くの場合、状態を維持し、いくつかのウェブサイトは
デスクトッププログラミングのユーザーインターフェイスが似ているなど、状態としてHTMLコンテンツ自体を使用し、とJavascriptを通してそれを更新します。編集やその他のさまざまなコントロールにはいくつかの状態が保存されます。あなたはセッション変数に似ていると考えることができるユーザ設定のようなものに対していくつかのグローバル変数を保存します。アプリケーションを実行することはセッションを持つことに似ています。
デスクトッププログラミングも非常にイベントベースです。かなり頻繁に、プログラムがボタンや何かをクリックするのを待って座っています。ですから、通常はWindowsとイベントハンドラについて話しています。 Javascriptでこれらをよく知っているかもしれません。
C#ではガベージコレクションが行われるため、変数の削除を心配する必要はありません。彼らが範囲外に出るとすぐに、彼らは通常クリーンアップされます。グローバルクラス変数は、アプリケーションがシャットダウンされるまでクリーンアップされず、アプリケーションをシャットダウンするときに変数をクリアする必要はありません。 PHPのように、プロセスが終了するとすべて消えてしまいます。
ローカル変数を使用する必要がある場合は、関数内でグローバル変数(スコープ外にならない)を使用しないでください。
PHPにはローカル変数とグローバル変数もありますので、これはおなじみの領域です。
ほとんどの場合(少なくとも質問のタグが付いているC#では、他の環境でも)、組み込みのガベージコレクションは未使用のリソースの割り当てを非常にうまく処理します。間違ってメモリリークを作成することもできますが、ウェブ上で簡単に行うこともできます。 – David
一般に、パフォーマンスはおそらく最大のハードルにはならないでしょう。接続されていないステートレス要求 - 応答システムと実行中のアプリケーションとの間のコグニティブスイッチは大きなものです。私はしばしば、他の方向へのスイッチを作るときに人々が苦労しているのを見ます。 – David