페이지로드시 LINQ 쿼리의 데이터가로드 된 3 개의 콤보 상자가 있습니다. 문제는 쿼리가 너무 많은 데이터를 포함하기 때문에 Internet Explorer가 1 분 이상 응답을 멈추는 것입니다.스레드 내부에서 쿼리
내 생각에 3 가지 스레드에 넣으려는 생각이 있지만 문제는 끝입니다. 오류 메시지는 다음과 같습니다. "DataSource 및 DataSourceID는 모두 'cbOrganizator'에 정의되어 있습니다. 하나의 정의. "
cbOrganizator는 콤보 박스입니다.
protected void Page_Load(object sender, EventArgs e)
{
Bind();
}
public void Osobe()
{
PravosudnaAkademijaEntities db = new PravosudnaAkademijaEntities();
var osoba = from o in db.osobas
orderby o.osoba_prezime
select new { o.osoba_id, imePrezime = o.osoba_prezime + " " + o.osoba_ime + " | " + o.tijelo.tijelo_naziv + " | " + o.radno_mjesto.rm_naziv_m };
cbPolaznik.DataSource = osoba;
cbPolaznik.DataTextField = "imePrezime";
cbPolaznik.DataValueField = "osoba_id";
cbPolaznik.DataBind();
cbPolaznik.Items.Insert(0, " ");
cbPredavac.DataSource = osoba;
cbPredavac.DataTextField = "imePrezime";
cbPredavac.DataValueField = "osoba_id";
cbPredavac.DataBind();
cbPredavac.Items.Insert(0, " ");
cbAOM.DataSource = osoba;
cbAOM.DataTextField = "imePrezime";
cbAOM.DataValueField = "osoba_id";
cbAOM.DataBind();
cbAOM.Items.Insert(0, " ");
}
public void Tijela()
{
PravosudnaAkademijaEntities db = new PravosudnaAkademijaEntities();
var tijelo = from t in db.tijeloes
orderby t.tijelo_naziv
select new { t.tijelo_id, sve = t.tijelo_naziv + " | " + t.mjesto.zupanija_drzava.zupanija_naziv };
cbOrganizator.DataSource = tijelo;
cbOrganizator.DataTextField = "sve";
cbOrganizator.DataValueField = "tijelo_id";
cbOrganizator.DataBind();
cbOrganizator.Items.Insert(0, " ");
}
public void Bind()
{
Thread tOsobe = new Thread(Osobe);
tOsobe.Start();
Thread tTijela = new Thread(Tijela);
tTijela.Start();
}
내가 잘못 그래서 어떤 도움을 주시면 감사하겠습니다 건지 모르겠어요 : 여기
는 코드입니다. 기본 아이디어는 쿼리를 스레드로 분리하여 내 접근법이 잘못된 경우 알려주십시오.
스레드를 결합해야합니다. – adt
그게 해결책이야! 고맙습니다! –