2011-03-29 154 views
0
<%@ WebHandler Language="C#" Class="SITEIMPORT" %> 

using System; 
using System.Web; 

using MySql.Data; 
using MySql.Data.MySqlClient; 


/// <summary> 
/// IMPORTS DATA FROM MYSQL TO OUR WEBSITE 
/// </summary> 
public class SITEIMPORT : IHttpHandler { 

    public void ProcessRequest (HttpContext context) { 

     context.Response.ContentType = "text/plain"; 

     string connStr = "server=mysql2.DOMAINREMOVED.com;user=MYUSERNAME;database=DBNAME;port=3306;password=MYPASSWORD;"; 
     MySqlConnection conn = new MySqlConnection(connStr); 
     try 
     { 
      context.Response.Write("Connecting to MySQL..."); 
      context.Response.Write("efef");  
      conn.Open(); 
      context.Response.Write("done");   

     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.ToString()); 

     } 
     conn.Close(); 
     Console.WriteLine("Done."); 


    } 

    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 

} 

这将输出响应:无法连接到MySQL

连接到MySQL ... efef

这并不是说登录失败,服务器没有找到,服务器阻塞请求,类似的东西。没有错误。任何人都知道为什么“完成”不打印出来?

+0

你能否确认该方法正在完成执行并且不会打开连接? – 2011-03-29 23:23:15

+0

@巴巴克,我会怎么做,对不起,我是一个noob。 – 2011-03-29 23:24:14

+0

用调试器运行代码并执行。 – 2011-03-29 23:25:47

回答

1

可能发生的事情是与您的数据库的连接出于任何原因超时。与此同时,您的页面请求也会超时,因此只会在您的页面请求超时之前报告输出。

3

ASP.NET没有控制台。

更改Console.WriteLine到:

context.Response.Write 

,你会看到无论你把它。在你的情况下,你会看到一些错误信息。