【发布时间】:2014-04-14 08:08:12
【问题描述】:
我创建了一个 Web 应用程序,我在其中调用 c# 方法。在 c# 方法中,我返回一个包含 1、2、3 之类的值的对象。当我在 localhost 中运行应用程序时,我得到了该对象的确切值。但是,当我在 AZURE 中发布此应用程序时,没有进行任何更改。我没有得到像 1、2、3 这样的值,而是得到值 System.Object。 我不明白这种奇怪的行为。请帮助我。 这是我的代码:
$('#btn').click(function(){
PageMethods.SaveNDig(obj, OnComplete);
});
C#方法:
[WebMethod]
public static string SaveNDig(Object obj)//string CourseName, string CourseCategoryURL, string CourseCategoryName, string CourseInfo, string PassPercentage, string TextBooks, string GradingSchemes
{
object result = database.ExecuteScalar("select userid from EUser where username ='" + username + "'");
return result;
}
public static object ExecuteScalar(string query)
{
object obj = new object();
try
{
con = InitializeConnection();
cmd = new SqlCommand(query, con);
con.Open();
obj = cmd.ExecuteScalar();
}
catch (Exception ex) { }
finally
{
if (con.State == System.Data.ConnectionState.Open)
{
con.Close();
}
}
return obj != null ? obj : null;
}
【问题讨论】:
-
你总是不能吞下你的异常来看看你的查询是否有问题
catch (Exception ex) { }添加一些日志记录或远程调试它。 -
你考虑过使用实体框架吗?msdn.microsoft.com/en-us/data/ee712907.aspx