![]() |
|||||||||||||||||||||
|
|||||||||||||||||||||
Q: フォルダの権限を変更するには どうしたらいいですか?
A:VERIO社提供のパーミッション変更ツールをお試し下さい。
http://ドメイン名:81/ControlPanel/Permissions/
★フォルダブラウズ、リードアクセス、FTPパスワードでの閲覧保護、書き込み許可などがセットできます。
Q: MS SQL Server 2000 にどうやって接続できますか?
A:次のパラメータをお試し下さい。
SQLサーバー名:sql1400.mssqlservers.com
データベース名:FTPユーザーIDと同一
ユーザーID:FTPユーザーIDと同一
パスワード:FTPと同じパスワード
★英文による説明はこちらです。
Q: ASP をどのようにして ASP.NETに変換できますか?
A: Microsoft(R)のサイトに、ASP をASP.NETに変換するドキュメントが公開されています。こちらを参照してください。
加えて、Microsoft Developer's Network で、asp.net 検索してみてください。 最新の情報を入手することができます。
Q: ASP.NETのエラーページに詳細が表示されないのはなぜですか? いつも、次のようなエラー画面しか表示されません。
Server Error in '/appname' Application.
Runtime Error
デフォルトでは、エラーの詳細表示をしないようになっています。この設定は変更することが可能です。<customerros>タグをweb.configにルートディレクトリに作成してください。<customerrors>タグでは、"RemoteOnly"になっている"mode"属性を"Off"にする必要があります。
|
<!-- Web.Config Configuration File --> <configuration>
|
(*)"defaultRedirect" 属性を変更することで、カスタムエラーページを表示させることが可能です。
|
<!-- Web.Config Configuration File --> <configuration><system.web> <customErrors mode="On" defaultRedirect="mycustompage.htm"/> </system.web> </configuration> |
A: デフォルトでは、ASP.NET アプリケーションは、カスタムエラーを表示しないようになっています。Visual Studio.NETは、 web.config を自動作成し、customErrorsの mode を "RemoteOnly"にするようです。詳細エラーを表示するには、web.configからcustomerrorsセクションを取り除くか、customErrors をOffにしてください。
<customerrors mode="off"/>
このとき、エラーが発生すると、訪問者すべてがエラーの内容が表示されてしまうことに注意してください。
なお、このサービスでは、RemoteOnlyとOn "mode"の表示内容は、まったく同一となります。
Q: なぜ「configuration error 」が発生するのですか?
Server Error in '/appname' Application.
Configuration Error
リクエストに対して、コンフィグレーションに失敗するとこのエラーが発生します。個々のエラー内容を検証し、設定ファイルをもう一度見直してください。
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineOnly' beyond machine.config.
A:
web.configに、このサービスで許可されていない、あなたのアプリケーションのための定義がなされている可能性があります。これらを削除またはコメントアウトしてください。サポートされているオプションは次の回答をご覧ください。
特に、Visual Studio.NETでデフォルトになっている、
<compilation
defaultLanguage="c#"
debug="true"
/>
は、このサービスでは指定できません。この定義はコメントにするか、削除しておく必要があります。このほかにも、次の回答も参照ください。
Q: ASP.NET の設定で、ユーザにより変更可能なものはどんなものがありますか?
A: ASP.NET の設定オプションで、web.configにて、ユーザーが変更できるのは次のオプションです。これ以外は、セキュリティやパフォーマンスの理由により、このサービスでは変更できません。
(*) Microsoftの、ASP.NET Configuration もご覧ください。
Q: NET・web アプリケーションでカスタムエラーを表示できますか?
A: Custom Error pages
は、web アプリケーションの web.config の <customerrors>
で設定できます。
|
<!-- Web.Config
Configuration File --> |
この例では、あらゆる 404 (File Not Found) エラーは404.aspx にリダイレクトされます。それ以外のエラーはerror.aspxにリダイレクトされます。このサービスでは、customErrosの値が"On" と "RemoteOnly" は、まったく同じ結果をもたらします。modeを"Off" にしたとき、エラーメッセージがダイレクトに訪問者に表示されます。
(*)ここでのカスタムエラーとは、ASP.NET ページで発生したエラーだけが対象です。「ファイルがない」といった、ASP.NETに関係ないエラーは、通常のIISのエラーページが表示される点にご注意ください。
Q: ASP.NETでサポートされているファイルタイプを教えてください。
A: ASP.NETでは、いくつかの新しいファイルタイプが導入されました。
Q: aspnetのクライアントディレクトリについて教えてください。?
A: aspnet_クライアントディレクトリ には、ASP.NETの実行時にクライアントサイドで行われる値チェックを サーバーコントロールで利用するときに必要なJavaScriptファイルが格納されています。このフォルダは自動的に生成され、ASP.NETアプリケーションの実行に必ず必要というわけではありませんが、このディレクトリを削除すると、訪問者にエラーメッセージが表示されるようになります。
A: はい。 CodeBehind 属性を指定して、分離コードを作成することが可能です。詳しくは、Microsoft's Web Forms Code Model.
Q: .NET で作ったdllはどこに格納したらよいですか?
A:
すべてのASP.NET アプリケーションは、dllを利用するとき、/binディレクトリを検索するように配置されます。デフォルトでは、サイトのルート(wwwroot)が、アプリケーション
ルートとなっています。Visual Interdev
や、Visual Studio.NETを使うと、複数のアプリケーションを作成することができます。このとき、それぞれのアプリケーションは個別に/binサブディレクトリを持つことになります。
★ローカルのIISでアプリケーションを開発して、これをサーバー上にコピーするとき、「プロジェクトのコピー」がもっとも確実です。Visual
Studio.NETの「プロジェクト」メニューの「プロジェクトのコピー」をご利用いただけます。
Q: .NET web アプリケーションをコンパイルするにはどうしたらいいですか?
A: <script runat=server> タグにより、.aspxファイルにサーバーサイドスクリプトを記述したら、後はこれをサーバーにアップロードするだけで、初回実行時にコンパイルが完了します。もし、CodeBehindページを作成している場合は、ソースコードを正しくコンパイルして、アセンブリ(dll)を適切な/binサブディレクトリに格納してください。Visual Studio .NET を利用するのがもっとも簡単です。
Visual Studio.NET では、ローカルマシンで開発・テストした web アプリケーションをCopy Project 機能を使ってFrontPage Server Extensionsによってサーバーに展開することが可能です。 詳しくは、Visual Studio のドキュメントを参照ください。もうひとつの方法は、VS.NET webプロジェクトを直接サーバー上に作成してコンパイルすることです。
Visual Studio.NETをお持ちでない場合は、コマンドライン版の開発環境が利用できます。コマンドライン版、.NET Framework SDK (http://www.microsoft.com/netからダウンロードできます) を使ってコンパイル、サーバーにアップロードをすることも可能です。
Q: global.asax は、ASP のglobal.asa と何が違いますか?
A: global.asax file は、 global.asa ととてもよく似ています。ユーザーは、webアプリケーションのルートに、global.asax を配置することができます。global.asax では、以前のASPでおなじみの、Application_Start, Application_End, Session_Start, and Session_End イベントがサポートされます。ASP.NET ではいくつかの新しい機能もサポートされています。詳しくは、Microsoftの.NET に関するドキュメントをご覧ください。
Q: web アプリケーションでセッション処理をするにはどうしたらいいですか?
A: web.configの <sessionstate> をカスタマイズすることで、セッション処理を取り扱うことができます。このセクションでは、いくつかのオプションが指定できます。
web.configで <sessionState> セッションを指定したとき、これらのオプションが利用できます(上記にあるよう、一部使えないものがあります)。デフォルトの値は以下のとおりです。
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="20" />
A:
ASP.NETでメールを送信するには、 System.Web.Mail.MailMessage と、 System.Web.Mail.SmtpMail
クラスを使います。以下にC#とVB.NETでの例をあげます。また、このとき、Web.Config
に、<globalization>項目を追加するようにしてください。そうでないと、きっと文字化けします。
例:<globalization fileEncoding="Shift_JIS" />
C#
<%@ Import Namespace="System"
%>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.Mail" %>
<HTML>
<HEAD>
<title>Mail Test</title>
</HEAD>
<script language="C#" runat="server">
private void Page_Load(Object sender, EventArgs e)
{
try
{
MailMessage mailObj = new MailMessage();
mailObj.From = "sales@joeswidgets.com";
mailObj.To = "joesmith@someisp.com";
mailObj.Subject = "Your Widget Order";
mailObj.Body = "Your order was processed.";
mailObj.BodyFormat = MailFormat.Text;
SmtpMail.SmtpServer = "mail-fwd";
SmtpMail.Send(mailObj);
Response.Write("Mail sent successfully");
}
catch (Exception x)
{
Response.Write("Your message was not sent: " + x.Message);
}
}
</script>
<body>
<form id="mail_test" method="post"
runat="server">
</form>
</body>
</HTML>
VB.NET
<%@ Page Language="VB" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.Mail" %>
<script runat="server">
Sub doit(sender As Object, E as EventArgs)
Dim Mailer As MailMessage
Mailer = New MailMessage()
Mailer.From = "???@???.co.jp"
Mailer.To = "???@???.co.jp"
Mailer.Subject = "日本語タイトル"
Mailer.BodyEncoding = Text.Encoding.GetEncoding("ISO-2022-JP")
Mailer.BodyFormat = MailFormat.Text
Mailer.Body = "日本語本文メッセージ"
SmtpMail.SmtpServer = "mail-out"
SmtpMail.Send(Mailer)
Response.Write("送信完了")
End Sub
</script>
<html
<head>
</head>
<body>
<form runat="server">
<asp:Button id="submit" onclick="doit" runat="server" Text="送信"></asp:Button>
</form>
</body>
</HTML>
A: 従来のASPでメールを送信するには、CDOSYSが使えます。
<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
<%@ LANGUAGE=VBScript Codepage=932 %>
<HTML>
<HEAD>
<title>メール送信サンプル</title>
</HEAD>
<BODY>
<%
Dim iMessage
Dim iConf
Dim Flds
Set iMessage = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
With Flds
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "mail-fwd"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPconnectiontimeout) = 10
.Update
End With
iMessage.Configuration = iConf
iMessage.From = "???@???.co.jp"
iMessage.To = "???@???.co.jp"
iMessage.BodyPart.Charset = "iso-2022-jp"
iMessage.BodyPart.ContentTransferEncoding = "7bit"
iMessage.Subject = "日本語タイトル"
iMessage.TextBody = "テストメールです。"
iMessage.Send
Set iMessage = Nothing
Set iConf = Nothing
Set Flds = Nothing
Response.Write "メールを送信しました"
%>
</BODY>
</HTML>
A: いわゆる ASPmailは、Windows 2003 Serverではご利用いただけません。ASPmailよりさらに柔軟で信頼性の高いコンポーネントであるCDO for Windowsをご利用ください。
A: ASP.NET でファイルアップロードを実現するには、 System.Web.UI.HtmlControls.HtmlInputFile、 System.Web.HttpPostedFile 、 HtmlInputFile などのクラスを利用します。HttpPostedFile クラスがHtmlInputFileクラスのPostedFileプロパティで指定されたファイルを実際にアップロードします。HtmlInputFileコントロールを利用するには、次のようにformのenctypeを指定します。
<form id="upload" method="post" runat="server" enctype="multipart/form-data">
なお、ファイルがアップロードされるディレクトリはanonymousユーザーに対してWrite属性が許可されていなければなりません。このサービスでは、/dataディレクトリおよびそのサブディレクトリがこの条件を満たします。
以下に、 C# と VB.NETでのサンプルを示します。
C#
<%@ Import Namespace="System"
%>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.UI.HtmlControls" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<html>
<head>
<title>upload_cs</title>
</head>
<script language="C#" runat="server">
public void UploadFile(object sender, EventArgs e)
{
if (loFile.PostedFile != null)
{
try
{
string strFileName, strFileNamePath, strFileFolder;
strFileFolder = Context.Server.MapPath(@"data\");
strFileName = loFile.PostedFile.FileName;
strFileName = Path.GetFileName(strFileName);
strFileNamePath
= strFileFolder + strFileName;
loFile.PostedFile.SaveAs(strFileNamePath);
lblFileName.Text
= strFileName;
lblFileLength.Text = loFile.PostedFile.ContentLength.ToString();
lblFileType.Text = loFile.PostedFile.ContentType;
pnStatus.Visible = true;
}
catch (Exception x)
{
Label lblError = new Label();
lblError.ForeColor = Color.Red;
lblError.Text = "Exception occurred: " + x.Message;
lblError.Visible = true;
this.Controls.Add(lblError);
}
}
}
</script>
<body>
<form id="upload_cs"
method="post" runat="server" enctype="multipart/form-data">
<P>
<INPUT type="file" id="loFile" runat="server">
</P>
<P>
<asp:Button id="btnUpload" runat="server" Text="
Upload " OnClick="UploadFile"></asp:Button></P>
<P>
<asp:Panel id="pnStatus" runat="server" Visible="False">
<asp:Label id="lblFileName" Font-Bold="True"
Runat="server"></asp:Label> uploaded<BR>
<asp:Label id="lblFileLength" Runat="server"></asp:Label>
bytes<BR>
<asp:Label id="lblFileType" Runat="server"></asp:Label>
</asp:Panel></P>
</form>
</body>
</html>
VB.NET
<%@ Import Namespace="System"
%>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.UI.HtmlControls" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Drawing" %>
<HTML>
<HEAD>
<title>upload</title>
</HEAD>
<script language="VB" runat="server">
Sub UploadFile(sender as Object, e as EventArgs)
If Not (loFile.PostedFile Is Nothing) Then
Try
Dim strFileName, strFileNamePath, strFileFolder
As String
strFileFolder
= Context.Server.MapPath("data\")
strFileName = loFile.PostedFile.FileName
strFileName = Path.GetFileName(strFileName)
strFileNamePath = strFileFolder + strFileName
loFile.PostedFile.SaveAs(strFileNamePath)
lblFileName.Text = strFileName
lblFileLength.Text = loFile.PostedFile.ContentLength.ToString()
lblFileType.Text = loFile.PostedFile.ContentType
pnStatus.Visible = True
Catch ex As Exception
Dim lblError As Label
lblError = New Label()
lblError.ForeColor = Color.Red
lblError.Text = "Exception occurred: "
+ ex.Message
lblError.Visible = True
Page.Controls.Add(lblError)
End Try
End If
End Sub
</script>
<body MS_POSITIONING="FlowLayout">
<form id="upload" method="post" encType="multipart/form-data"
runat="server">
<P><INPUT id="loFile" type="file" name="loFile"
runat="server">
</P>
<P><asp:button id="btnUpload" onclick="UploadFile"
runat="server" Text=" Upload "></asp:button></P>
<P><asp:panel id="pnStatus" runat="server" Visible="False">
<asp:Label id="lblFileName" Runat="server" Font-Bold="True"></asp:Label> uploaded<BR>
<asp:Label id="lblFileLength" Runat="server"></asp:Label>bytes<BR>
<asp:Label id="lblFileType" Runat="server"></asp:Label></asp:panel></P>
</form>
</body>
</HTML>