Enable detailed error in ASP and ASP.Net

With ASP and ASP.Net script, IIS is configure to disable any error for security concern. If you are in development stage, you could enable them from your web.config file without access to the server/control panel.

By fault, if you hit any error from your ASP/ASP.Net script, you shall receive error 500 Internal Server Error.

First of all, you should enable detailed error from your web.config file. To do this, enter the following command,
<system.webServer>
<httpErrors errorMode=”Detailed” />
</system.webServer>

Now, detailed error is enabled but you will found out the ASP/ASP.Net is still showing Error 500, Internal Server Error.To fix it,

For ASP.Net,
Find the system.web section or create it with,
<system.web>
<customErrors defaultRedirect=”errors.aspx” mode=”Off” />
</system.web>

For ASP,
Find the system.web section or create it with,
<system.web>
<asp scriptErrorSentToBrowser=”true” />
</system.web>

Calculate Folder size with ASP.Net

It is very important for a server space to be available time by time instead of always getting disk critical error from a server.

However, it is not possible for a server administrator to always log into the server to check the available space or used space for a folder.

Instead of using the server script to send an email to the administrator, user could use the ASP.Net script to show the used space.

VB Script:

Imports System
Imports System.Linq
Imports System.IO

Module Module1

Sub Main()
   Dim dInfo As New DirectoryInfo("C:/Articles")
   ' set bool parameter to false if you
   ' do not want to include subdirectories.
   Dim sizeOfDir As Long = DirectorySize(dInfo, True)

   Console.WriteLine("Directory size in MB : " & _
    "{0:N2} MB", (CDbl(sizeOfDir)) / (1024 * 1024))

   Console.ReadLine()
End Sub

Private Function DirectorySize(ByVal dInfo As DirectoryInfo, _
   ByVal includeSubDir As Boolean) As Long
   ' Enumerate all the files
   Dim totalSize As Long = dInfo.EnumerateFiles() _
     .Sum(Function(file) file.Length)

   ' If Subdirectories are to be included
   If includeSubDir Then
     ' Enumerate all sub-directories
     totalSize += dInfo.EnumerateDirectories() _
      .Sum(Function(dir) DirectorySize(dir, True))
   End If
   Return totalSize
End Function

End Module

Connect ASP.Net script with MySQL

It is very easy if you have ASP.Net script and want to connect to MySQL databases.

Today, Mick Genie will share how to connect your MySQL database with your ASP.Net script.

Sample Code:
==========
<%@ Page Language=”VB” debug=”true” %>
<%@ Import Namespace = “System.Data” %>
<%@ Import Namespace = “MySql.Data.MySqlClient” %>
<script language=”VB” runat=”server”>

Sub Page_Load(sender As Object, e As EventArgs)

Dim myConnection  As MySqlConnection
Dim myDataAdapter As MySqlDataAdapter
Dim myDataSet     As DataSet

Dim strSQL        As String
Dim iRecordCount  As Integer

myConnection = New MySqlConnection(“server=localhost; user id=mickgenie; password=password; database=database;”)

strSQL = “SELECT * FROM mytable;”

myDataAdapter = New MySqlDataAdapter(strSQL, myConnection)
myDataSet = New Dataset()
myDataAdapter.Fill(myDataSet, “mytable”)

MySQLDataGrid.DataSource = myDataSet
MySQLDataGrid.DataBind()

End Sub

</script>

<html>
<head>
<title>Simple MySQL Database Query</title>
</head>
<body>

<form runat=”server”>

<asp:DataGrid id=”MySQLDataGrid” runat=”server” />

</form>

</body>
</html>
==========

From the above code, you may change the setting from myConnection and you shall be able to connect without any problem.

Scheduled Task for .aspx (ASP.Net) file

Normally you may set the scheduled task easily by calling the program or script that you are using/coded, however if you come with the ASP.Net script, are you able to call through the asp dll library directly?

The answer is exactly no, as you may either use your Internet Browser to call your asp.net script, but your browser is going to open 1 session for each of your scheduled task ran.

With this article, Mick Genie will guide to use VBS script to call HTTP request to call your ASP.Net script.

1. First, create a .bat file from your notepad, insert cscript mickgenie.vbs and save it as mickgenie.bat.
2. Open another notepad and insert the line as below.
Call Send_HTTP_Request()
Sub Send_HTTP_Request()
On Error Resume Next
Dim objRequest
Dim URL
Set objRequest = CreateObject(“Microsoft.XMLHTTP”)
URL = “http://www.mickgenie.com/mickgenie.aspx” //replace your URL HERE
objRequest.open “POST”, URL , false
objRequest.Send
Set objRequest = Nothing
End Sub

3. Set the scheduled task from your box and test it.
4. There do not have step 4 🙂 .

Classic ASP script error messages are no longer shown in a Web browser by default

With IIS 7.x, ASP error is disabled by default. Hence, the web programmer will not know what is the detailed error from your scripting and the following error shown.

An error occurred on the server when processing the URL. Please contact the system administrator.

To work around this problem, you could set the detailed error through IIS or web.config file.

Method 1:

1. Open IIS or run inetmgr.
2. Click on the websites.
3. Click on the ASP icon.
4. Expand the Debugging Properties.
5. On Send Errors To Browser parameter set to True.

Method 2:

Open your web web.config file, add the following command.

<configuration>
<system.webServer>
<asp scriptErrorSentToBrowser="true" />
</system.webServer>
</configuration>

Method 3:

Run the following command to enabled from server end.

%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true

All in one redirect scripting

HTML redirect:

For most of the webmaster, they will prefer 301 Redirect. With HTML redirect with HTML, I will suggest canonical type.

You may use the following script from the HTML with canonical redirection.

<link rel="canonical" href="http://www.mickgenie.com/" />

htaccess with mod_rewrite redirect:

If you are using Apache or Mod_Rewrite enabled Web services, htaccess with mod_rewrite redirect is very useful, you may use the following script to perform your redirection.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mickgenie.com
RewriteRule (.*) http://www.mickgenie.com/$1 [R=301,L]

ColdFusion Redirect:

Sample code for Cold Fusion.

<cfheader name="Location" value="http://www.mickgenie.com/">

PHP Redirect:

Sample code for PHP.

<?php
header("location:http://www.mickgenie.com");
exit;
?>

ASP Redirect:

Sample Code for ASP.

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.mickgenie.com/"
%>

ASP.Net Redirect:

Sample Code for ASP.Net.

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.AddHeader("Location","http://www.mickgenie.com/");
}
</script>

Java Redirect:

Sample Code for Java.

<%
response.setHeader( "Location", "http://www.mickgenie.com/" );
response.setHeader( "Connection", "close" );
%>

Perl & CGI redirect:

Sample Code for Perl & CGI.

$q = new CGI;
print $q-› redirect(" http://www.mickgenie.com/ ");

Ruby & Ruby on Rails Redirect:

Sample code for Ruby & Ruby on Rails.

head :moved_permanently, :location =› "http://www.mickgenie.com/