Copie y pegue lo siguiente en una nueva aplicación de consola en VS. Agregue referencias a System.Web y System.Web.Services (sé que las aplicaciones de consola no necesitan estos ensamblajes, solo le muestro un fragmento de código que no funciona en mi aplicación web)..net: depurador que resalta la línea de código que en realidad no se está ejecutando
Aunque ambas condiciones en la sentencia if son falsas, se está convirtiendo en verdadera. Alguien sabe la razón por qué? (Visual Studio 2008 9.0.30729.1) .NET 3.5 SP1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Services;
using System.Web;
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
string x = "qweqweqw";
string y =
"{\"textMedia\":[-1,-1,-1,-1,-1],\"textOperand\":[1,1,1,1,1],\"textString\":[\"\",\"\",\"\",\"\",\"\"],\"dateSite\":[-11],\"dateOperand\":[],\"dateString\":[],\"status\":[-11,0,0],\"media\":[-11,0,0],\"subItem\":true,\"context\":false,\"branchSearch\":false,\"profileIDs\":[2,5,18],\"profileViewIDs\":[48,58,38],\"currentSelectedBranch\":0}";
SaveSearch(x, y);
}
[WebMethod]
public static object SaveSearch(string name, string encodedSearch)
{
object response = new { };
string x = name;
string y = encodedSearch;
// Why does this if statement throw an exception if both equal false?
if (x.Trim().Equals(string.Empty) || y.Trim().Equals(string.Empty))
throw new AjaxErrorException("Save Search", "Something went wrong", "JSFunction");
try
{
{
return new
{
error = false,
name = name,
userID = 123,
date = DateTime.Now
};
}
}
catch (Exception ex)
{
String e;
if (HttpContext.Current.IsDebuggingEnabled)
e = ex.Message + "\n\n" + ex.StackTrace;
else
e = "error error aliens approaching";
throw new AjaxErrorException("Save Search", e, "");
}
return response;
}
public class AjaxErrorException : System.Exception
{
public AjaxErrorException(string title, string details, string function)
: base(title)
{ }
string _stackTrace;
public override string StackTrace
{
get
{
return _stackTrace;
}
}
}
}
}
Pase por un depurador para ver qué está pasando realmente. –
¿Probaste mi código? –
¿Alguna vez intentó depurar? –