Pertanyaan Kesalahan Strange System.StackOverflowException di C #, aplikasi web Asp.Net


Ini adalah kesalahan paling aneh yang pernah saya lihat dan saya tidak tahu apa penyebabnya. Di VS2013 saya memiliki halaman aspx menggunakan datatables.net dan repeater. Halaman memuat dengan baik dan ditampilkan dengan benar kemudian setelah beberapa detik saya dapatkan

"Pengecualian yang tidak tertangani tipe 'System.StackOverflowException' terjadi di System.Web.dll"

Yang aneh adalah jika saya melakukan "TOP 76" di SQL saya, saya tidak mendapatkan kesalahan itu, tetapi jika saya melakukan "TOP 77" atau lebih besar dan saya mendapatkan kesalahan itu.

Saya telah melakukan banyak restart, menghapus dan membuat ulang halaman dengan nama yang berbeda. Mencoba menghapus datatables.net. Saya mencoba mengganti tanda kutip tunggal (berpikir yang mungkin mengacaukan mark up saya). Tapi sepertinya tidak ada yang berhasil.

Ini aneh karena saya memiliki tipe / style / kode yang sama di halaman lain dengan lebih banyak data dan mereka semua berfungsi dengan baik.

Langkah selanjutnya adalah instal ulang VS2013 karena saya tidak bisa memikirkan hal lain untuk dicoba. Setiap bantuan akan sangat dihargai karena saya bingung.

Ini menunjukkan 5.000 entri sebelum studio visual menyerah

System.Runtime.Serialization.dll!System.Runtime.Serialization.TypeHandleRefEqualityComparer.GetHashCode(System.Runtime.Serialization.TypeHandleRef obj)
    mscorlib.dll!System.Collections.Generic.Dictionary<System.Runtime.Serialization.TypeHandleRef,System.Runtime.Serialization.IntRef>.FindEntry(System.Runtime.Serialization.TypeHandleRef key)
    mscorlib.dll!System.Collections.Generic.Dictionary<System.Runtime.Serialization.TypeHandleRef,System.Runtime.Serialization.IntRef>.TryGetValue(System.Runtime.Serialization.TypeHandleRef key, out System.Runtime.Serialization.IntRef value)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonDataContract.JsonDataContractCriticalHelper.GetId(System.RuntimeTypeHandle typeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonDataContract.JsonDataContractCriticalHelper.GetJsonDataContract(System.Runtime.Serialization.DataContract traditionalDataContract)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool verifyKnownType, System.RuntimeTypeHandle declaredTypeHandle, System.Type declaredType)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.SerializeWithXsiType(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle objectTypeHandle, System.Type objectType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle, System.Type declaredType)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle)
    [Lightweight Function]
    /* lots of lines omitted */
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonCollectionDataContract.WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator jsonWriter, object obj, System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson context, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle)
    [Lightweight Function]
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonCollectionDataContract.WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator jsonWriter, object obj, System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson context, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle declaredTypeHandle)
    System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle declaredTypeHandle)
    The maximum number of stack frames supported by Visual Studio has been exceeded.

Di sini adalah aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/OxintMaster.master" AutoEventWireup="true" CodeBehind="inactivereport.aspx.cs" Inherits="oxint.com._40.admin.contrib.inactivereport" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <div class="grid">
        <div class="row cells12">
            <div class="cell colspan12">
                <h3>Companies assigned to Inactive Contributors Report (<asp:Literal runat="server" ID="litCount" ></asp:Literal>)</h3>
            </div>
        </div>
        <table id="mysearchresultstable" class="dataTable striped" data-page-length='25'>
            <thead>
                <tr>
                    <th>Contributor</th>
                    <th style="text-align:center;">Count</th>
                    <th style="text-align:center;">Action</th>
                </tr>
            </thead>
            <tbody>
                <%try
                  {%>
                <asp:Repeater runat="server" ID="rptData1">
                    <ItemTemplate>
                        <tr>
                            <td style="white-space:nowrap;">
                                <a href='/admin/contrib/cndisplay.aspx?id=<%#Eval("Items[0].Value")%>'>
                                    <asp:Literal runat="server" ID="litName"></asp:Literal>
                                </a>
                            </td>
                            <td style="white-space:nowrap;text-align:center;"><%#Eval("Items[3].Value")%></td><!--count-->
                            <td style="white-space:nowrap;text-align:center;">
                                <a href='/admin/contrib/inactiveview.aspx?id=<%#Eval("Items[0].Value")%>'><span class="mif-info"></span>
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:Repeater>
                <%}
                  catch (Exception ex) { Response.Write(ex.Message); } %>
            </tbody> 
        </table>             
    </div>

<script>
    $(document).ready(function () {
        /*$.fn.dataTable.moment('dd MMM yyyy HH:mm');*/
        $('#mysearchresultstable').dataTable(
        {
            /*"order": [[1, "asc"]],*/
            /*responsive: true,*/
            "lengthMenu": [25, 50, 100],
            "pagingType": "full",
            "oLanguage": { "sSearch": "Filter:" },
            "aoColumns": [null, null, { "bSortable": false }]
        }
    );
});
</script>

</asp:Content>

Ini kode di baliknya

using ApplicationClasses;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace oxint.com._40.admin.contrib
{
    public partial class inactivereport : System.Web.UI.Page
    {
        private int iCount { get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                rptData1.ItemDataBound += rptData1_ItemDataBound;

                string sData = "SELECT contributor.referenceno,contributor.firstname,contributor.lastname,COUNT(contributor.referenceno) As Count " +
                              "FROM ((Contribprofile inner join contributor on Contribprofile.referenceno=contributor.referenceno) " +
                              "inner join Profilecompany on Contribprofile.companyid=Profilecompany.companyid) " +
                              "where Contribprofile.iscurrent =1 and not contributor.status in ('Full','Trial') " +
                              "group by contributor.Referenceno,contributor.firstname,contributor.lastname ";

                rptData1.DataSource = new DataAccessFunctions.DataAccess().GetData(sData, null);
                rptData1.DataBind();
            }
        }

        void rptData1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            GenericData oData = (GenericData)e.Item.DataItem;

            iCount += ApplicationSystemFunctions.SystemFunctions.ParseInt(oData.Items[3].Value);

            litCount.Text = iCount.ToString();

            Literal oLiteral = (Literal)e.Item.FindControl("litName");

            oLiteral.Text = string.Format("{0} {1}", oData.Items[1].Value, oData.Items[2].Value.Replace("'", "-"));
        }
    }
}

5
2018-04-22 13:11


asal


Jawaban:


Saya memiliki masalah ini dan akhirnya saya melacaknya ke kode aspx yang meletakkan template untuk DataList saya. Saya memiliki kesalahan ketik di baris html tag tr "di mana kutipan yang tersisa dari menghapus informasi gaya sebelumnya. Setelah saya menghapus kutipan, kesalahan itu hilang.


2
2018-03-21 18:47