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: [email protected]
To: [email protected]
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: [email protected]
To: [email protected]
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: [email protected] 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:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an