Hej, här är en del av min kod (Web Part:en) Tror du missuppfattade mig: tack så väldigt mycket, "Jag vill gå och hämta feeder var tionde minut och den ska vara för evigt," den ligger i en Web Part? Det finns en utmärkt wizard att följa i schemaläggaren, tittat på den så ger dig sig själv.Multitråd progremmering i VS 2005
Jag håller på en sharepoint web part, Jag vill att den skulle köra minst två trådar, en av de ska gå och fetcha data från viss URL,
Jag kan fortfarande inte grunderna för VS,
två projekt i samma assembly använder två trådar?
för att web part liknar en asp.net web application, varje gång en händelse triggas då laddas om hela sidan, då har inte lyckats få den funka, alltså två trådar som en av de kör en while(true) loop och hämtar data från en specifik URL, och den andra tråden ta hand om händelser.Sv:Multitråd progremmering i VS 2005
namespace IgnitoWebPart
{
[DefaultProperty("Text"),
ToolboxData("<{0}:IgnitoClass runat=server></{0}:IgnitoClass>"),
XmlRoot(Namespace="IgnitoWebPart")]
public class IgnitoClass : WebPart, IRowProvider
{
Label L1;
static ThreadStart WorkerThreadStart = new ThreadStart(SimpleWorkerThreadMethod);
Thread WorkerThread = new Thread(WorkerThreadStart);
WorkerThread.Start(); // här står invalied token.
protected override void CreateChildControls()
{
L1 = new Label();
.......
}
public static void SimpleWorkerThreadMethod()
{
while(true)
hämta data från nätet och updatera DB
}
protected override void RenderWebPart(HtmlTextWriter output)
{
output.RenderBeginTag("div");
output.RenderBeginTag("table");
output.RenderBeginTag("tr");;
output.RenderBeginTag("td");
this.L.RenderControl(output);
output.RenderEndTag();
output.RenderEndTag();
output.RenderEndTag();
output.RenderEndTag();
}
}
}
jag vill att min web part ska starta två trådar en av dem bara gå på nätet och hämtar rss feeder,
problemet är att det inte fungerar, när jag kör web parten den håller på laddas hela tiden inget händer ingen knapp fungerar Sv: Multitråd progremmering i VS 2005
Alltså, skapa en class _enbart_ för att hämta rss, inget asp.net, html och liknande i den med andra ord. Den klassen skapar du en statisk instans av enligt:
static min_klass mitt_objekt = new min_klass();
Klassen min_klass kommer det då bara att finnas en enda utav, och den klassen innehåller den tråd du behöver för att hämta rss.Sv:Multitråd progremmering i VS 2005
om man vill hämta rss feeder i jämna mellanrum t.ex. i en while(true) loop som håller på hela tiden och tråden sover t.ex. i 10 minuter.
Jag vill gå och hämta feeder var tionde minut och den ska vara för evigt,Sv: Multitråd progremmering i VS 2005
Det är en extremt dålig ide att låta en tråd leva för evigt om den ligger i en ASP sida. Bättre är att du skriver en windowsservices som ligger och kör på en maskin någonstans, hämtar den information den skall och skriver ner i en databas. Eller så skapar du ett enkelt consolprogram som du sedan start med hjälp av windows schemaläggnigns program, då slipper du ha ett program som alltid kör, utan det startas vi de tidpunkter som du angett.
När du sedan vill visa alla den information på en ASP sida, så hämtar du upp infomation från databasen. På det visset har du avkopplat de två funktionerna ifrån varandrad samt att du slipper ha en websida som lever för evigt.
- MSv:Multitråd progremmering i VS 2005
jag är nybörjare, har du möjlighet förklara, hur man startar ett consolprogram med hjälp av windows schemaläggnings program?
tackSv: Multitråd progremmering i VS 2005
- M