Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ideer till projektet

Postades av 2006-01-16 11:57:10 - Robert Johansson, i forum c# (c-sharp), Tråden har 8 Kommentarer och lästs av 511 personer

Hej,
jag har ett stor projekt som är på väg att avslutas. Dock har vi en del kvar som är följande:
- En användare skall ladda upp en packad fil med XML-filer
- XML-filerna skall packas upp
- En process skall sättas igång här UTAN att användaren som laddade upp det skall behöva vänta på det, det rör som om import till en databas. D.v.s. vill jag sätta igång en server process.

Min fråga är:
- När då användaren har laddat upp informationen så vill jag sätta igång en process. Hur löser jag det?
Som jag har det idag så påbörjas en process i samband med att uppladdning sker och därför måste användaren låta webbläsarfönstret vara uppe. Och det vill inte jag. Hur initierar jag denna interna process?
MVH
Robert


Svara

Sv: Ideer till projektet

Postades av 2006-01-16 22:43:25 - Patrik Löwendahl

Starta en extra tråd.

Skall användaren få meddelande om att det är klart?


Svara

Sv: Ideer till projektet

Postades av 2006-01-17 09:09:27 - Herbjörn Wilhelmsen

Hej,

Man skulle kunna spara filen i en katalog med ett lämpligt filnamn och sedan ha en windows service som regelbundet tittar efter nya filer i den katalogen.

MVH
Herbjörn


Svara

Sv:Ideer till projektet

Postades av 2006-01-17 10:24:17 - Robert Johansson

Användaren behöver inte ha någon kontroll över om det är klart. Det som åligger användaren är att tanka upp filerna samt att sätta igång processen.

Ni nämner starta ny tråd eller ha en service som kikar regelbundet.
Prestandamässigt, vad är bäst? Jag får intrycket av att det är onödigt att ha en service som kikar
när vi ändå vet att vid ett specifikt tillfälle har kommit upp en fil.

Hur går jag vidare rent tekniskt med detta, hur startar jag en ny tråd och hur gör jag den oberoende? Jag är ingen monsterprogrammerare utan
har goda kunskapar inom .Net men fokus på ASP.Net och minimalt med windows.


Svara

Sv: Ideer till projektet

Postades av 2006-01-17 12:40:59 - Patrik Löwendahl

Fördelen med en service är att den ligger i sitt eget process space, dvs skilt från IISn och ASP.NET applikationen. Nackdelen är att de är lite krångligare att få till och du måste installera den på servern.

Om man väljer en service så kan man använda sig av FileNotification klassen för att få ett event triggrat när en ny fil laddats upp, på det sättet behöver vi alltså inte "kika" efter nya filer i foldern.

Personligen hade jag nog föredragit en service, men inte av prestanda skäl utan mest för att jag isf ville skilja på funktionerna.

Att starta en ny tråd är relativt enkelt:

Thread t = new Thread(new ThreadStart(methodToRun))


där methodToRun är entry point där tråden skall börja exekvera kod. Det går att göra direkt i en webb applikation.

Viktigt är dock att man inte skapar hur mycket nya trådar som helst. Varje tråd du skapar ger ett visst overhead för hela servern. Så om det är ett scenario med mycket filer och massa uppladdningar, då hade jag nog satsat på tjänsten, eftersom den då kan beta av filerna efter hand på en eller ett fåtal trådar istället för en vid varje uppladdning.


Svara

Sv:Ideer till projektet

Postades av 2006-01-17 18:31:06 - Oskar Johansson

> Personligen hade jag nog föredragit en service, men inte av prestanda skäl utan mest för att jag isf ville skilja på funktionerna.

Jag skulle nog snarare lägga det i en egen tjänst då risken att man råkar ut för att asp.net startas om är mindre (eller snarare, mindre risk att det avbryts av någon anledning.) Och eftersom att man inte vet om det gick eller inte så känns det intressant att kunna lite på att asp.net inte råkade trigga någon recycle-regel mitt under arbetet

> Viktigt är dock att man inte skapar hur mycket nya trådar som helst. Varje tråd du skapar ger ett visst overhead för hela servern. Så om det är ett scenario med mycket filer och massa uppladdningar, då hade jag nog satsat på tjänsten, eftersom den då kan beta av filerna efter hand på en eller ett fåtal trådar istället för en vid varje uppladdning.

Det är en ganska smal sak att annars skapa en enkel "threadpool"-liknande sak för bara det här, eller ha någon kö eller något som en enda tråd läser ifrån.


Svara

Sv: Ideer till projektet

Postades av 2006-01-17 20:23:38 - Patrik Löwendahl

Huvudtrådar får alltid exekvera klart innan appdomainen laddas ur vid recycling. Nya requests kommer in i en ny appdomain iaf, så det är ingen fara.

Smal sak att skriva en thread pool? Ja tjena.


Svara

Sv:Ideer till projektet

Postades av 2006-01-17 20:49:07 - Oskar Johansson

> Huvudtrådar får alltid exekvera klart innan appdomainen laddas ur vid recycling. Nya requests kommer in i en ny appdomain iaf, så det är ingen fara.

Ah... Då är det ju lugnt ;) (Fast å andra sidan kan ju skiten hänga sig å den stängs av helt abrupt pga. det, ingen större risk dock...)

> Smal sak att skriva en thread pool? Ja tjena.

Jag skrev "threadpool"-liknande sak; inte en riktig threadpool, bara en liten sak som håller koll på ett fåtal trådar och ifall det finns någon sådan här arbetsuppgift så körs den.


Svara

Sv: Ideer till projektet

Postades av 2006-01-18 07:09:53 - Olof Lidström

Du skulle väl kunna skriva en liten applikation som utför detta åt dig som webben drar igång åt dig.
Då får det ju exekvera i bakgrunden och användaren märker ingenting

System.Diagnostics.Process.Start(Program att exekvera, Parametrar in till programmet);


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
685
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies