ASP.NET関連
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
] [
Twitter
]
開始行:
→.NETプログラミング
→Webアプリ開発
→ネットワーク関連
→.NETネットワークプログラミング
→Web技術関連
→ASP.NETでのWebサービス開発に関するメモ
→ASP.NET AJAX関連
#contents
*ASP.NET一般 [#s1ec3c8b]
-接続してきたクライアントのIPアドレスは?
--Request.UserHostAddress
-[[HTTPハンドラによる動的コンテンツの提供>http://www.micr...
*ASP.NET Core [#cdba6298]
-[[JavaエンジニアがASP.NET Coreを触ってみた #Java - Qiita...
-[[ASP.NET Core 3.0 Razor Pages 事始め(1) - はじめてのRaz...
-[[ASP.NET Core Blazorの概要>https://docs.microsoft.com/j...
-[[[ASP.NET Core 入門] 学習するための基礎知識を身につけよ...
*ASP.NETの構成要素 [#t890a3ef]
-アプリケーション・ルート
--IISの特別な仮想ディレクトリ(通常の仮想ディレクトリとは...
--aspxファイル、Global.asax, Web.configを保持する
-アプリケーション・ルートの作成手順
--管理ツールを起動し、IISのスナップインを起動する。
--Webサイトを右クリック→新規作成→仮想ディレクトリをクリック
--仮想ディレクトリ作成ウィザードが起動する
--エイリアスを入力。MyWebApp にすると http://localhost/My...
--サーバ機上のフォルダを指定する。通常は c:\Inetpub\wwwro...
--アクセス許可の設定をする。「読み取り」と「ASPなどのスク...
-Global.asax
--System.Web.HttpApplicationクラスから派生したGlobalクラス
--アプリケーションやセッションの前処理・後処理などを記述...
---アプリケーションスコープ、セッションスコープで使うクラ...
--グローバルに使いたい名前空間を指定する
-Web.config
--ASP.NETのアプリケーションローカルレベルの設定を記述する...
--オプションであり、無くても動作は可能。無い場合はmachine...
--認証の設定などが可能
--アプリケーション固有の情報をappSettingsセクションに保持...
// .NET 1.1の場合
s = ConfigurationSettings.AppSettings["myConfigKey"]; /...
// .NET 2.0の場合
s = ConfigurationManager.AppSettings["myConfigKey"];
のようにしてアクセス可能。また途中で変更された場合は自動...
---using System.Configurationする必要あり
--Web.config側記述例
<appSettings>
<add key="pubs" value="server=(local)\NetSDK;database...
<add key="northwind" value="server=(local)\NetSDK;dat...
</appSettings>
---configureationタグの中に書く
-[[「_vti_cnf」、「_vti_pvt」って何?>http://www.wanichan...
--FrontPage 2000では、フォルダをWebの世界のように処理する...
--以前に「forum」にて、これらのフォルダはホームページサー...
*ASP.NETのデプロイメント(展開) [#s03763c5]
-[[Deploying Web Applications using Visual Studio .NET>ht...
**手動でやる場合 [#g04a6b68]
-アプリケーションルートの割り当てが必要
-アプリ用のaspx,asmxファイルがあること
-アプリケーションルートにWeb.config, Global.asaxがあること
-binディレクトリに該当アプリのdllがあること
-その他、動作に必要なdllがあるなら、それが見つかるように...
**セットアップを作る場合 [#lc397159]
→Visual Studio.NETによるセットアッププロジェクト
**注意点:正しくセットアップしてあるのに404エラー(ページ...
-IIS6ではデフォルトでASP.NETの実行が禁止されているので注意
-IISマネージャーの「Webサービス拡張」を確認し、ASP.NETが...
**asmxにアクセスすると「'/xxxx' アプリケーションでサーバ...
-以下のようなメッセージが出る
解析エラー メッセージ: 型 'HogeService' を作成できませ...
-ASP.NET 2.0で作ったのにIIS側がASP.NET 1.1で動いていると...
-IISマネージャの該当サイトのプロパティで「ASP.NET」のタブ...
**asmxにアクセスすると「XMLページを表示できません」という...
-以下のようなエラーになり、ASP.NETが実行できないという現象
XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。...
い。 [更新] ボタンをクリックするか、または後でやり直して...
--------------------------------------------------------...
無効な文字で名前が始まりました。リソース 'http://localho...
<%@ Page Language="C#" AutoEventWireup="true" CodeFile=...
-これは、複数の.NET Frameworkをインストールしたり、Visual...
-対応方法は以下の通り
--コマンドプロンプトから以下のディレクトリへ移動する。(Fr...
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
--以下のコマンドを実行する
aspnet_regiis -i
-なお、これをやっても「メタベースにアクセスできません」と...
aspnet_regiis -ua
をやってから
aspnet_regiis -i
したら直った。
-あと、IEがページをキャッシュしているせいか?エラーが直っ...
*ASP.NETの設定 [#qf0bf38c]
-ASP.NETへのリクエストサイズの上限
Web.config等をいじってない場合、ASP.NETはリクエストのサ...
リクエストを拒否するようになっているはずです。
/configuration/system.web/httpRuntime要素のmaxRequestLen...
リクエストを受け付けることはできます。
ただ、5MBのデータを送信するとなるとファイアウォール、プ...
IDSなどに引っかかる可能性があります。
そもそも5MBのデータをサーバに送信すること自体かなり辛い...
XMLだったはずなので、5MBのXMLを処理するのは結構負荷がか...
--参考URL:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.p...
-Web.config
--アプリケーション個別の設定は Web.config というXMLファイ...
--ASP.NETが動作するフォルダに置く必要がある(未確認)
--Web.configは親フォルダでの構成ファイルの設定を上書きする
--@Pageディレクティブを使ってページ単位で設定の上書きをす...
--タイムアウトについて。参考:http://www.one-side.net/~ch...
変更する方法は、web.configの中の<system.web>内に、
<httpRuntime executionTimeout=”1800″/>
を追加してやる。 (この例の場合は1800秒なので30分)
---ただしcompilationタグのdebug="true"の場合はこの設定は...
---タイムアウトしてしまうとThreadAbortException が発生し...
---デフォルトでは110秒でタイムアウトする
-ASP.NET全般の設定
--以下のXMLファイルに全般的な設定が記録されている
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\mach...
-''注意点:デバッグするときにはキープアライブを有効にする...
--IDEでデバッグしたいときはIISマネージャの規定のWebサイト...
--また、Web.configのcompilationタグのdebug属性をtrueにし...
**OutOfMemoryExceptionが発生する場合 [#bea403af]
-[[OutOfMemoryExceptionを事前に察知>http://csharper.blog5...
--System.Runtime.MemoryFailPoint クラスを使う
--コンストラクタ でメモリーサイズ ( 単位はMB ) を指定しま...
--なお、使用後は必ず Dispose メソッド を呼び出す必要があ...
-[[OutOfMemoryExceptionの発生について>http://www.i-site.j...
--IIS 6 では、ワーカープロセスが使用する最大メモリが設定(...
--運用環境に 4 GB の RAM が実装されているときは、プロセス...
--4 GB の RAM が実装されている運用環境では、より安定した...
--IIS 6 では、IIS マネージャのアプリケーションプール・プ...
--この設定により、ワーカープロセスの使用する最大メモリが...
--※「メモリのリサイクル」の設定を仮想メモリ、使用メモリと...
--参考:http://support.microsoft.com/kb/820108/
--参考:[[.NETアプリケーションのパフォーマンスとチューニ...
-[[ASP.NETのmemoryLimitの上限が800MBまでの理由について>ht...
--1. プロセスは仮想アドレス空間(2GB)上限など気にせず、メ...
--2. 既定の設定ではプロセスに割り当てられる仮想アドレス空...
--3. 物理RAM4GBで、memoryLimit=60(%)だと2.4GBまでキャッシ...
--4. System.Web.Caching.Cacheが仮想アドレス空間の上限2.0G...
--よってタイトルに書いたように別に800MBが上限ではなく、仮...
--http://msdn.microsoft.com/library/default.asp?url=/libr...
-[[System.OutOfMemoryExceptionの発生>http://forums.micros...
--タスクマネージャにて、ASP.NET のホストプロセス (aspnet...
--32bit Windows で動作するプロセスは全て、プロセスひとつ...
--ASP.NET のホストプロセスの場合、だいたい使用メモリ量 80...
--使用メモリ量が 1GB を超えてしまっている場合は、アプリケ...
--この目安を下回るのに OutOfMemoryException が発生してい...
*ASP.NETのテンポラリファイル [#af87eac1]
-ASP.NETの中で以下のようにしてテンポラリファイル用のフォ...
Module mod = Assembly.GetExecutingAssembly().GetModules(...
String tmpPath = Path.GetDirectoryName(mod.FullyQualifie...
-↓のような場所が帰ってくるので注意
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary A...
-素直にPath.GetTempPath()した方がよさそう
*POSTで渡って来たデータの取得 [#ue551716]
-PageクラスのRequest.Formプロパティを参照する
for (int i = 0; i < Request.Form.Count; i++)
{
String key = Request.Form.Keys[i];
String val = Request.Form[i];
Debug.WriteLine("key=" + key + ",val=" + val);
}
*DIVタグの表示/非表示の切り替え [#fb32cd62]
-divタグに id属性とrunat="server"属性を追加
-プログラム側でid属性の名前で参照可能になるので .Visible...
*なぜか発行がうまく行かないとき [#ie20c8f6]
-サービスの管理で「World Wide Web Publishing Service」を...
-ソリューションを右クリック→「Webサイトのコピー」をやって...
-うまく行かない場合「ログの表示」ボタンを押してログを表示...
-※実際問題、VS.NET 2005の発行の機能はかなり動きが怪しいた...
終了行:
→.NETプログラミング
→Webアプリ開発
→ネットワーク関連
→.NETネットワークプログラミング
→Web技術関連
→ASP.NETでのWebサービス開発に関するメモ
→ASP.NET AJAX関連
#contents
*ASP.NET一般 [#s1ec3c8b]
-接続してきたクライアントのIPアドレスは?
--Request.UserHostAddress
-[[HTTPハンドラによる動的コンテンツの提供>http://www.micr...
*ASP.NET Core [#cdba6298]
-[[JavaエンジニアがASP.NET Coreを触ってみた #Java - Qiita...
-[[ASP.NET Core 3.0 Razor Pages 事始め(1) - はじめてのRaz...
-[[ASP.NET Core Blazorの概要>https://docs.microsoft.com/j...
-[[[ASP.NET Core 入門] 学習するための基礎知識を身につけよ...
*ASP.NETの構成要素 [#t890a3ef]
-アプリケーション・ルート
--IISの特別な仮想ディレクトリ(通常の仮想ディレクトリとは...
--aspxファイル、Global.asax, Web.configを保持する
-アプリケーション・ルートの作成手順
--管理ツールを起動し、IISのスナップインを起動する。
--Webサイトを右クリック→新規作成→仮想ディレクトリをクリック
--仮想ディレクトリ作成ウィザードが起動する
--エイリアスを入力。MyWebApp にすると http://localhost/My...
--サーバ機上のフォルダを指定する。通常は c:\Inetpub\wwwro...
--アクセス許可の設定をする。「読み取り」と「ASPなどのスク...
-Global.asax
--System.Web.HttpApplicationクラスから派生したGlobalクラス
--アプリケーションやセッションの前処理・後処理などを記述...
---アプリケーションスコープ、セッションスコープで使うクラ...
--グローバルに使いたい名前空間を指定する
-Web.config
--ASP.NETのアプリケーションローカルレベルの設定を記述する...
--オプションであり、無くても動作は可能。無い場合はmachine...
--認証の設定などが可能
--アプリケーション固有の情報をappSettingsセクションに保持...
// .NET 1.1の場合
s = ConfigurationSettings.AppSettings["myConfigKey"]; /...
// .NET 2.0の場合
s = ConfigurationManager.AppSettings["myConfigKey"];
のようにしてアクセス可能。また途中で変更された場合は自動...
---using System.Configurationする必要あり
--Web.config側記述例
<appSettings>
<add key="pubs" value="server=(local)\NetSDK;database...
<add key="northwind" value="server=(local)\NetSDK;dat...
</appSettings>
---configureationタグの中に書く
-[[「_vti_cnf」、「_vti_pvt」って何?>http://www.wanichan...
--FrontPage 2000では、フォルダをWebの世界のように処理する...
--以前に「forum」にて、これらのフォルダはホームページサー...
*ASP.NETのデプロイメント(展開) [#s03763c5]
-[[Deploying Web Applications using Visual Studio .NET>ht...
**手動でやる場合 [#g04a6b68]
-アプリケーションルートの割り当てが必要
-アプリ用のaspx,asmxファイルがあること
-アプリケーションルートにWeb.config, Global.asaxがあること
-binディレクトリに該当アプリのdllがあること
-その他、動作に必要なdllがあるなら、それが見つかるように...
**セットアップを作る場合 [#lc397159]
→Visual Studio.NETによるセットアッププロジェクト
**注意点:正しくセットアップしてあるのに404エラー(ページ...
-IIS6ではデフォルトでASP.NETの実行が禁止されているので注意
-IISマネージャーの「Webサービス拡張」を確認し、ASP.NETが...
**asmxにアクセスすると「'/xxxx' アプリケーションでサーバ...
-以下のようなメッセージが出る
解析エラー メッセージ: 型 'HogeService' を作成できませ...
-ASP.NET 2.0で作ったのにIIS側がASP.NET 1.1で動いていると...
-IISマネージャの該当サイトのプロパティで「ASP.NET」のタブ...
**asmxにアクセスすると「XMLページを表示できません」という...
-以下のようなエラーになり、ASP.NETが実行できないという現象
XML ページを表示できません
XSL スタイル シートを使用した XML 入力は表示できません。...
い。 [更新] ボタンをクリックするか、または後でやり直して...
--------------------------------------------------------...
無効な文字で名前が始まりました。リソース 'http://localho...
<%@ Page Language="C#" AutoEventWireup="true" CodeFile=...
-これは、複数の.NET Frameworkをインストールしたり、Visual...
-対応方法は以下の通り
--コマンドプロンプトから以下のディレクトリへ移動する。(Fr...
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
--以下のコマンドを実行する
aspnet_regiis -i
-なお、これをやっても「メタベースにアクセスできません」と...
aspnet_regiis -ua
をやってから
aspnet_regiis -i
したら直った。
-あと、IEがページをキャッシュしているせいか?エラーが直っ...
*ASP.NETの設定 [#qf0bf38c]
-ASP.NETへのリクエストサイズの上限
Web.config等をいじってない場合、ASP.NETはリクエストのサ...
リクエストを拒否するようになっているはずです。
/configuration/system.web/httpRuntime要素のmaxRequestLen...
リクエストを受け付けることはできます。
ただ、5MBのデータを送信するとなるとファイアウォール、プ...
IDSなどに引っかかる可能性があります。
そもそも5MBのデータをサーバに送信すること自体かなり辛い...
XMLだったはずなので、5MBのXMLを処理するのは結構負荷がか...
--参考URL:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.p...
-Web.config
--アプリケーション個別の設定は Web.config というXMLファイ...
--ASP.NETが動作するフォルダに置く必要がある(未確認)
--Web.configは親フォルダでの構成ファイルの設定を上書きする
--@Pageディレクティブを使ってページ単位で設定の上書きをす...
--タイムアウトについて。参考:http://www.one-side.net/~ch...
変更する方法は、web.configの中の<system.web>内に、
<httpRuntime executionTimeout=”1800″/>
を追加してやる。 (この例の場合は1800秒なので30分)
---ただしcompilationタグのdebug="true"の場合はこの設定は...
---タイムアウトしてしまうとThreadAbortException が発生し...
---デフォルトでは110秒でタイムアウトする
-ASP.NET全般の設定
--以下のXMLファイルに全般的な設定が記録されている
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\mach...
-''注意点:デバッグするときにはキープアライブを有効にする...
--IDEでデバッグしたいときはIISマネージャの規定のWebサイト...
--また、Web.configのcompilationタグのdebug属性をtrueにし...
**OutOfMemoryExceptionが発生する場合 [#bea403af]
-[[OutOfMemoryExceptionを事前に察知>http://csharper.blog5...
--System.Runtime.MemoryFailPoint クラスを使う
--コンストラクタ でメモリーサイズ ( 単位はMB ) を指定しま...
--なお、使用後は必ず Dispose メソッド を呼び出す必要があ...
-[[OutOfMemoryExceptionの発生について>http://www.i-site.j...
--IIS 6 では、ワーカープロセスが使用する最大メモリが設定(...
--運用環境に 4 GB の RAM が実装されているときは、プロセス...
--4 GB の RAM が実装されている運用環境では、より安定した...
--IIS 6 では、IIS マネージャのアプリケーションプール・プ...
--この設定により、ワーカープロセスの使用する最大メモリが...
--※「メモリのリサイクル」の設定を仮想メモリ、使用メモリと...
--参考:http://support.microsoft.com/kb/820108/
--参考:[[.NETアプリケーションのパフォーマンスとチューニ...
-[[ASP.NETのmemoryLimitの上限が800MBまでの理由について>ht...
--1. プロセスは仮想アドレス空間(2GB)上限など気にせず、メ...
--2. 既定の設定ではプロセスに割り当てられる仮想アドレス空...
--3. 物理RAM4GBで、memoryLimit=60(%)だと2.4GBまでキャッシ...
--4. System.Web.Caching.Cacheが仮想アドレス空間の上限2.0G...
--よってタイトルに書いたように別に800MBが上限ではなく、仮...
--http://msdn.microsoft.com/library/default.asp?url=/libr...
-[[System.OutOfMemoryExceptionの発生>http://forums.micros...
--タスクマネージャにて、ASP.NET のホストプロセス (aspnet...
--32bit Windows で動作するプロセスは全て、プロセスひとつ...
--ASP.NET のホストプロセスの場合、だいたい使用メモリ量 80...
--使用メモリ量が 1GB を超えてしまっている場合は、アプリケ...
--この目安を下回るのに OutOfMemoryException が発生してい...
*ASP.NETのテンポラリファイル [#af87eac1]
-ASP.NETの中で以下のようにしてテンポラリファイル用のフォ...
Module mod = Assembly.GetExecutingAssembly().GetModules(...
String tmpPath = Path.GetDirectoryName(mod.FullyQualifie...
-↓のような場所が帰ってくるので注意
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary A...
-素直にPath.GetTempPath()した方がよさそう
*POSTで渡って来たデータの取得 [#ue551716]
-PageクラスのRequest.Formプロパティを参照する
for (int i = 0; i < Request.Form.Count; i++)
{
String key = Request.Form.Keys[i];
String val = Request.Form[i];
Debug.WriteLine("key=" + key + ",val=" + val);
}
*DIVタグの表示/非表示の切り替え [#fb32cd62]
-divタグに id属性とrunat="server"属性を追加
-プログラム側でid属性の名前で参照可能になるので .Visible...
*なぜか発行がうまく行かないとき [#ie20c8f6]
-サービスの管理で「World Wide Web Publishing Service」を...
-ソリューションを右クリック→「Webサイトのコピー」をやって...
-うまく行かない場合「ログの表示」ボタンを押してログを表示...
-※実際問題、VS.NET 2005の発行の機能はかなり動きが怪しいた...
ページ名: