<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default18.aspx.cs" Inherits="Default18" %>
とある所のWebアプリケーションでパフォーマンスが出ないって事で調べていたのですが…
ローカルDBを見に行くところと、外部にWebサービスリクエストする所が内部にあって、依存関係は無いのだがそれぞれに時間がかかっているのを多重化するぐらいしか方法無いかねーって事でちょっとやってみたのだが、安易に HttpContext.Current を見てるとこれが取れなくて破綻する。
using System;
using System.Diagnostics;
using System.Web;
using System.Web.UI;
public partial class _Default : Page
{
サーバーが80番以外のポート番号を使用している場合(通常は80番です)は、次のようにします。
http://www.site.com:8080/html/attr/url.htm
同じサーバー上のファイルであれば、http://サーバ名 を省略することができます。
/html/attr/url.htm
同じフォルダ内のファイルであれば、フォルダ名部分も省略することができます。
url.htm
これは、現在のフォルダを意味するドット(.)を用いて以下のように表現するのと同じ意味をもちます。
./url.htm
ひとつ上のフォルダのファイルを参照するには、「ひとつ上のフォルダ」を意味するふたつのドット(..)を用います。
../index.htm
ひとつ上のフォルダの中の、memoというフォルダの中の、intro.htm というファイルを参照するには、次のようにします。
../memo/intro.htm
<a href=”☆”> や <area href=”☆”> で使用する場合、URL の後ろに #名前 をつけることにより、<a name=”名前”>~</a> で指定した場所(ページの途中)にジャンプさせることができます。(→ )
../memo/intro.htm#Support
http://www.site.com/html/attr/url.htm
Stringクラスではなく、System.Text.StringBuilderクラスを使うことにより、文字列の置換や追加などの処理をより高速に行うことができます。例えば、Stringクラスで文字列の連結を行うと、文字列を連結するたびに新しいインスタンスを作成するため、パフォーマンスが落ちますが、StringBuilderクラスでは、そのようなことがありません。文字列の置換や追加などの処理を頻繁に行う時は、StringBuilderクラスを使うとよいでしょう。
次の例では、String、StringBuilderクラスのそれぞれを使って文字列を何回も追加し、処理にかかった時間を計測しています。
[VB.NET]
Dim i, t1, t2 As Integer
'String型を使って文字列を追加していく
t1 = System.Environment.TickCount
Dim str As String
For i = 0 To 20000