hallo thomas!

so funkts bei mir:

im hauptthread:

HttpContext context = HttpContext.Current;

SendNewsletter newsletter = new SendNewsletter(context);
Thread sendMails = new Thread(new ThreadStart(newsletter.Send));
sendMails.Start();


in der klasse SendNewsletter:

public class SendNewsletter
{
public HttpContext context;

public SendNewsletter(HttpContext context)
{
this.context = context;
}

public void Send()
{
for(int i=0; i<10; i++)
{
 context.Application["Status"] = i;
 Thread.Sleep(2000);
}
}

}



meine anderen probleme konnte ich aber nicht lösen.... also eine neue instanz des mails bzw. des strings für mail.Body zu übergeben.... das hat er im neuen thread schön durchgeschüttelt....
ich habe mich entschlossen, es vorerst bei linearer abarbeitung zu belassen und es in der nächsten zeit mal dahingehend zu ändern, dass ich das mail im neuem thread nicht nur versende, sondern auch zusammenbaue... ich denk du machst das ja auch so.. ?!


hast du einen geeigneten progressbar gefunden? ist es kein problem, dass du von vornherein nicht weisst wielange die ganze versenderei dauern wird? oder machst auf pseudolinearer fortschrittsanzeige und nimmst die anzahl der versendeten mails im verhältnis zu den gesamtmails?



lg,
oskar


From: Thomas Bandt <[EMAIL PROTECTED]>
Reply-To: asp.net@glengamoi.com
To: asp.net@glengamoi.com
Subject: Re: [Asp.net] ASP.NET Threading
Date: Wed, 23 Mar 2005 16:44:40 +0100

Hi,

wie machstn du das jetzt? Habe mal eben folgendes probiert, da
setzt er mir die Application-Variable aber nicht:

Webform:

private void Page_Load(object sender, System.EventArgs e)
{
        // Put user code to initialize the page here

        if(Request.QueryString["Check"] != null)
        {
                SendNewsletter newsletter = new 
SendNewsletter(HttpContext.Current);
                Thread sendMails = new Thread(new ThreadStart(newsletter.Send));
                sendMails.Start();
        }
        else
        {
                if(Application["Status"] != null)
                {
                        Response.Write(Application["Status"].ToString());
                }
        }
}

Im 2. Thread gestartete Klasse:

public class SendNewsletter
{

        //private HttpContext currentContext;

        public SendNewsletter(HttpContext c)
        {
                //
                // TODO: Add constructor logic here
                //
                //currentContext = c;
                HttpContext.Current = c;
        }

        public void Send()
        {
                for(int i=0; i<10; i++)
                {
                        HttpContext.Current.Application["Status"] = i;
                        Thread.Sleep(2000);
                }
        }

}

Irgendwie will er nicht ...

Oskar O schrieb:
hallo christoph!

mit dem context im konstruktor hattest recht! danke!

mit dem copy hatte ich leider kein glück.... hier hab ich in der doku nix gefunden um eine neue instanz einer mailmessage oder eines object mit copy zu erstellen.
"val" gibts in c# nicht...


lg,
oskar

From: Schmid Christoph <[EMAIL PROTECTED]>
Reply-To: asp.net@glengamoi.com
To: asp.net@glengamoi.com
Subject: Re: [Asp.net] ASP.NET Threading
Date: Mon, 21 Mar 2005 18:04:11 +0100


> ok, dann werd ich eben ohne damit auskommen müssen.... ist ja schon was,
> wenn man weiss, dass es keine möglichkeit gibt... ;-)


Evt. funktioniert es, wenn du das httpcontext.current z.B. beim Konstruktor
übergibst und dann darauf zugreiffst. Musst aber ausprobieren.


> einen haken hat meine geschichte noch:
> wenn ich, nachdem ich den 2. thread aufgerufen habe, noch was am mail
> ändere, dann bekomm ich die geänderte version zugesendet. konnte ich
> verifizieren, indem ich ein thread.sleep vor den änderungen eingfügt hab.
> ich nehm an, das ist deshalb, weil ich nur eine instanz des mails
> übergebe...?!?
> wie könnte ich das lösen???


zwei Vermutungen:
evt. eine Copy erstellen  myMail.copy() oder als val übergeben?

Gruss Christoph

_______________________________________________ Asp.net Mailingliste, Postings senden an: Asp.net@glengamoi.com An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net

_________________________________________________________________
Recherchieren Sie auf eigene Faust mit der wohl besten Suchmaschine im Netz. http://search.msn.at/


_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Reply via email to