Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.781 pregleda

Najnovija ↓

IIS 6 pool broj konekcija 08.06.2009. u 12:17 · pre 211 meseci #1
Kako povecati broj konekcija ili kada dodje do preopterecenja i program prestane raditi smanjiti restartovanje iis6 i njegov ponovni nastavak rada? Koristim winxp i cesto dok radim sa asp.net programom dolazi do popunjavanja pool mesta.
Re: IIS 6 pool broj konekcija 15.06.2009. u 10:48 · pre 211 meseci #2
Ili jos jedno pitanje vezano za problem pool-a, recimo radim izvestaj i on treba da izlista artikle po racunu, ako racun ima recimo do 100 artikala on izvrsi izvestaj, ali ako je preko 200 izbaci problem sa max pool. Sta bi trebalo da se uradi kako bi on mogao da izvrsi izvestaj bez overdoza ko sto bi ja rekao?
Re: IIS 6 pool broj konekcija 16.06.2009. u 09:45 · pre 211 meseci #3
Ako ti aplikacija pravi takvu gresku na tako banalnom primeru, onda ocigledno nisi dobro napisao tu aplikaciju i konekcije ka SQL serveru se uopste ne zatvaraju. Tipicna greska u programiranju web aplikacija je napisati kod poput ovog:

Code:
     SqlConnection conn = new SqlConnection(myConnectionString);
      conn.Open();
      uradiNesto();
      conn.Close();     


Ukoliko se u uradiNesto() delu pojavi exception, konekcija nece nikad biti zatvorena, a posto je konekcija na bazu mesto gde se vrlo lako moze pojaviti greska, onda je to pravo mesto gde treba loviti exception:

Code:
     SqlConnection conn = new SqlConnection(myConnectionString);
      try
      {
            conn.Open();
            uradiNesto(conn);
      }
      finally
     {
            conn.Close();                
      }


Dakle, postoji mogucnost da uvecas broj konekcija u IIS pool-u, ali to je otklanjanje posledica, a ne uzroka.
Re: IIS 6 pool broj konekcija 16.06.2009. u 13:10 · pre 211 meseci #4
Verovatno je tu negde problem, malo mi je bilo cudno da odradi kako treba racune sa manje stavki a vece nece. Onda cu traziti gde su greske, a i jos jedno pitanje, mogu li videti neki proces, sta se desava, kako da nadjem gresku ako postoji? Bilo sta sto bi moglo pomoci u otklanjanju takvih gresaka. Imam jos neke forme na kojima se slican problem desava.
Re: IIS 6 pool broj konekcija 10.07.2009. u 09:00 · pre 210 meseci #5
Da ne otvaram novu temu.

Kako da napisem koda za dugme new, koje ce ponistiti unete podatke tako da mogu od pocetka da unesem ponovo? Ima li neki univerzalni kod ili sta?

Moj kod izgleda ovako ali nije to po meni bas najispravnije:
Code:
 Private Sub btnnovaporudzbina_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnovaporudzbina.Click

            Session.Abandon()
            Response.Redirect("unosporudzbine.aspx")

        End Sub


posle par puta pritiskanja kaze da su max pool presle dozvoljeni broj.
Re: IIS 6 pool broj konekcija 10.07.2009. u 15:48 · pre 210 meseci #6
Code:
 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load, Me.Load

            Session("page") = "unosporudzbenice"
            Session("grupa") = "1"

            ' ---------------- CHECK IF LOGIN USER ------------------

            If Len(CStr(Session("login"))) = 0 Then
                'Response.Redirect("../index.aspx")
            End If




            If Not Page.IsPostBack Then
                ddlkupci.DataSource = mykupci.SelectKupciListIzaberite
                ddlkupci.DataTextField = "imefirme"
                ddlkupci.DataValueField = "kid"
                ddlkupci.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid1.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid1.DataTextField = "idmaterijala"
                ddlmid1.DataValueField = "mid"
                ddlmid1.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid2.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid2.DataTextField = "idmaterijala"
                ddlmid2.DataValueField = "mid"
                ddlmid2.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid3.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid3.DataTextField = "idmaterijala"
                ddlmid3.DataValueField = "mid"
                ddlmid3.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid4.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid4.DataTextField = "idmaterijala"
                ddlmid4.DataValueField = "mid"
                ddlmid4.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid5.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid5.DataTextField = "idmaterijala"
                ddlmid5.DataValueField = "mid"
                ddlmid5.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid6.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid6.DataTextField = "idmaterijala"
                ddlmid6.DataValueField = "mid"
                ddlmid6.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid7.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid7.DataTextField = "idmaterijala"
                ddlmid7.DataValueField = "mid"
                ddlmid7.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid8.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid8.DataTextField = "idmaterijala"
                ddlmid8.DataValueField = "mid"
                ddlmid8.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid9.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid9.DataTextField = "idmaterijala"
                ddlmid9.DataValueField = "mid"
                ddlmid9.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid10.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid10.DataTextField = "idmaterijala"
                ddlmid10.DataValueField = "mid"
                ddlmid10.DataBind()
            End If


            If Len(Session("ex")) <> 0 Then
                Label6.Text = " *** Unesite ponovo"
            End If
            Session("ex") = ""

            If Len(Session("o")) <> 0 Then
                Label6.Text = " *** Izaberite ponovo"
            End If
            Session("o") = ""

            Label1.Text = CStr(Session("idporudzbine"))
            Label7.Text = CStr(Session("datumunosa"))
            Label21.Text = CStr(Session("datumisteka"))
            Label5.Text = CStr(Session("kupac"))
            Label10.Text = CStr(Session("iznosporudzbine"))
            Label3.Text = CStr(Session("Uneto"))
            Label24.Text = CStr(Session("komentar"))
            Label8.Text = CStr(Session("valuta"))
            Label22.Text = CStr(Session("kupac1"))

            Dim intRedniBrojPloce As Integer = 0
            If Len(CStr(Session("porid"))) <> 0 Then
                intRedniBrojPloce = mystavkeporudzbine.GetZadnjuStavkuporudzbine(CInt(Session("porid")))

                myporudzbine.SelectPorudzbine(CInt(Session("porid")))
                Session("idporudzbine") = CStr(myporudzbine.idporudzbine)
                Label1.Text = CStr(myporudzbine.idporudzbine)

                Session("datumunosa") = CStr(myporudzbine.datumunosa)
                Label7.Text = CStr(Session("datumunosa"))

                Session("datumisteka") = CStr(myporudzbine.datumisteka)
                Label21.Text = CStr(Session("datumisteka"))

                mykupci.SelectKupci(mykupci.kid)
                Session("kupac") = CStr(mykupci.imefirme)
                Label5.Text = CStr(Session("kupac"))

                mykupci.SelectKupci(myporudzbine.kid)
                Session("kupac1") = CStr(mykupci.imeiprezime)
                Label22.Text = CStr(Session("kupac1"))

                Session("komentar") = CStr(myporudzbine.komentar)
                Label24.Text = CStr(Session("komentar"))

                Session("Uneto") = "Uneto"
                Label3.Text = CStr(Session("Uneto"))



                Session("v") = CStr(myporudzbine.valuta)

                Select Case myporudzbine.valuta
                    Case Is = 1
                        Session("valuta") = "_ " & "D - Dinar" & " "
                    Case Is = 2
                        Session("valuta") = "_ " & "€ - Euro" & " "
                    Case Is = 3
                        Session("valuta") = "_ " & "$ - US Dolar" & " "
                End Select

                Label8.Text = CStr(Session("valuta"))


                Session("iznosporudzbine") = CStr(myporudzbine.iznosporudzbine)

                Label10.Text = CStr(Session("iznosporudzbine"))

            End If

            Session("rbstavke") = CStr(intRedniBrojPloce)


            If intRedniBrojPloce <> 0 Then
                Label11.Text = CStr(intRedniBrojPloce + 1)
                Label12.Text = CStr(intRedniBrojPloce + 2)
                Label13.Text = CStr(intRedniBrojPloce + 3)
                Label14.Text = CStr(intRedniBrojPloce + 4)
                Label15.Text = CStr(intRedniBrojPloce + 5)
                Label16.Text = CStr(intRedniBrojPloce + 6)
                Label17.Text = CStr(intRedniBrojPloce + 7)
                Label18.Text = CStr(intRedniBrojPloce + 8)
                Label19.Text = CStr(intRedniBrojPloce + 9)
                Label20.Text = CStr(intRedniBrojPloce + 10)
            Else
                Label11.Text = CStr(1)
                Label12.Text = CStr(2)
                Label13.Text = CStr(3)
                Label14.Text = CStr(4)
                Label15.Text = CStr(5)
                Label16.Text = CStr(6)
                Label17.Text = CStr(7)
                Label18.Text = CStr(8)
                Label19.Text = CStr(9)
                Label20.Text = CStr(10)
            End If


        End Sub

To je kompletan koda za ucitavanje strane koju kada reloadujem 5 do 7 puta izbaci max pool reach.
Bez ovog dela radi i reloadujem 100 puta bez problema
Code:
If Not Page.IsPostBack Then
                ddlmid1.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid1.DataTextField = "idmaterijala"
                ddlmid1.DataValueField = "mid"
                ddlmid1.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid2.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid2.DataTextField = "idmaterijala"
                ddlmid2.DataValueField = "mid"
                ddlmid2.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid3.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid3.DataTextField = "idmaterijala"
                ddlmid3.DataValueField = "mid"
                ddlmid3.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid4.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid4.DataTextField = "idmaterijala"
                ddlmid4.DataValueField = "mid"
                ddlmid4.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid5.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid5.DataTextField = "idmaterijala"
                ddlmid5.DataValueField = "mid"
                ddlmid5.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid6.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid6.DataTextField = "idmaterijala"
                ddlmid6.DataValueField = "mid"
                ddlmid6.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid7.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid7.DataTextField = "idmaterijala"
                ddlmid7.DataValueField = "mid"
                ddlmid7.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid8.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid8.DataTextField = "idmaterijala"
                ddlmid8.DataValueField = "mid"
                ddlmid8.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid9.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid9.DataTextField = "idmaterijala"
                ddlmid9.DataValueField = "mid"
                ddlmid9.DataBind()
            End If
            If Not Page.IsPostBack Then
                ddlmid10.DataSource = mymaterijali.SelectMaterijaliListIzaberite
                ddlmid10.DataTextField = "idmaterijala"
                ddlmid10.DataValueField = "mid"
                ddlmid10.DataBind()
            End If


mymaterijali.SelectMaterijaliListIzaberite ovo u vb-u izgleda ovako

Code:
Public Function SelectMaterijaliListIzaberite() As DataTable

        Dim strDSN As String = ConfigurationSettings.AppSettings("DSN")
        Dim SqlConnection1 As SqlConnection
        Dim myCommand As SqlCommand

        Dim myTable As New DataTable
        myTable.Columns.Add("mid", System.Type.GetType("System.String"))
        myTable.Columns.Add("idmaterijala", System.Type.GetType("System.String"))
        Dim objDataReader As SqlDataReader

        SqlConnection1 = New SqlConnection(strDSN)

        myCommand = New SqlCommand("spSelectMaterijaliList", SqlConnection1)
        myCommand.CommandType = CommandType.StoredProcedure

        SqlConnection1.Open()
        myDataReader = myCommand.ExecuteReader()

        Dim myDataRow As DataRow
        myDataRow = myTable.NewRow()
        myDataRow("mid") = "-1"
        myDataRow("idmaterijala") = "Izaberite"
        myTable.Rows.Add(myDataRow)
        Do While (myDataReader.Read)
            myDataRow = myTable.NewRow()
            myDataRow("mid") = myDataReader.GetSqlInt32(0).ToString
                myDataRow("idmaterijala") = myDataReader.GetSqlString(1).ToString & " - " & myDataReader.GetSqlString(2).ToString
            myTable.Rows.Add(myDataRow)
        Loop

        Return myTable

        myDataReader.Close()
        SqlConnection1.Close()

    End Function

A sp je:
Code:
ALTER                      PROCEDURE [spSelectMaterijaliList]
@i Int = 1
AS  

SELECT  mid, sifra, grupa, naziv
FROM materijali
WHERE mid <> 0 

ORDER BY sifra ASC


Ako neko zna gde je greska neka pomogne, bio bih mu veoma zahvalan.
Re: IIS 6 pool broj konekcija 10.07.2009. u 16:37 · pre 210 meseci #7
I konacan zakljucak je da kad izbacim sve redove koji listaju materijal dobijam ukupno 50 reloada te stranice, ako ostavim 2 stavke onda 25 ili ako sve stoji od 5 do 7. Kao da svaki kod od tih ostavi po jednu gresku.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme