出于某种奇怪的原因,我无法调试静态 Web 方法中的代码。代码本身是这样的:
public partial class StoredProcedures : BasePage//Inherits from System.Web.UI.Page
{
...........................
[WebMethod(EnableSession = true)]
public static object ProcedureList(int jtStartIndex, int jtPageSize, string jtSorting)
{
if (jtStartIndex == null)
jtStartIndex = 0;
if (jtPageSize == null)
jtPageSize = 0;
if (string.IsNullOrEmpty(jtSorting))
jtSorting = null;
//Get data from database
string sql = "select object_name as Name, status as Status, created as Created from user_objects where object_type = 'PROCEDURE'";
DataTable ds = RequestSingleton.DBConnection.GetDataTable(sql);
int procCount = ds.Rows.Count;
if (procCount != 0)
{
DataFiller<StoredProc> dtfStoredProc = new DataFiller<StoredProc>();
List<StoredProc> list = null;
list = dtfStoredProc.FromDataTableToList(ds);
.........................
..............................
JQuery调用静态方法,如果我在静态方法中插入断点,它们不会被使用。这可能是我遗漏的一些明显的东西,但我无法调试网络方法似乎有点奇怪。问题是我想看看那里发生了什么,因为有些东西不对劲,而且如果不进行调试,这有点困难。 在 ASP.NET 项目中的任何其他位置插入断点都不是问题,但在该代码块中却是问题。
最佳答案
我找到了静态方法无法调试的原因:web.config文件中trace的值必须设置为true,否则断点不会被调用。 因此,对于在 ASP.NET 中调试静态 Web 方法时可能遇到此问题的任何人,请检查跟踪是否设置为 true。 pageOutput 为假或真并不重要,但trace 必须设置为true。感谢您的时间和回答。
关于c# - 无法在 C#/ASP.NET 中调试静态 Web 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745152/