<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Web Development</title><link>https://www.dotnetzone.gr:443/cs/forums/75/ShowForum.aspx</link><description>Ολα τα θέματα που σας απασχολούν σχετικά με ASP, ASP.NET αν τώρα επιχειρείτε να φτιάξετε την πρώτη σας σελίδα.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: asp.net και multithreading</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58904.aspx</link><pubDate>Tue, 01 Jun 2010 21:38:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58904</guid><dc:creator>tasos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58904.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=58904</wfw:commentRss><description>Από ότι φαίνεται τελικά το πρόβλημα είναι όταν το thread δημιουργεί το myLog StreamWriter object. Αν αυτό το object δημιουργηθεί π.χ. στην Page_Load τότε η εκτέλεση του προχωράει κανονικά και χωρίς προβλήματα. Δυστυχώς για αυτό που θέλω να τρέξω δεν γίνεται να ανοίξω τα όποια files από πριν. &lt;br&gt;&lt;br&gt;Υπάρχει τρόπος να δώσουμε στο thread δικαιώματα read &amp;amp; write για αρχεία;</description></item><item><title>Απ: asp.net και multithreading</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58835.aspx</link><pubDate>Thu, 27 May 2010 09:00:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58835</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58835.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=58835</wfw:commentRss><description>&lt;P&gt;Αντί του &lt;A href="http://msdn.microsoft.com/en-us/library/system.io.streamwriter.aspx"&gt;StreamWriter&lt;/A&gt; που δεν είναι thread safe, δοκίμασε να χρησιμοποιήσεις, όπως άλλωστε συστήνει και το documentation, το &lt;A href="http://msdn.microsoft.com/en-us/library/system.io.textwriter.synchronized(v=VS.100).aspx"&gt;TextWriter.Synchronized&lt;/A&gt;. Ρίξε μια ματιά κι &lt;A href="http://www.codeguru.com/forum/archive/index.php/t-355603.html"&gt;εδώ&lt;/A&gt;. Επίσης, καλό είναι να βάζεις τα streams σε ένα Using - EndUsing statement.&lt;/P&gt;</description></item><item><title>Απ: asp.net και multithreading</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58833.aspx</link><pubDate>Thu, 27 May 2010 07:32:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58833</guid><dc:creator>tasos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58833.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=58833</wfw:commentRss><description>Η διαδικασία που θέλω να εκτελέσω είναι η δημιουργία κάποιων xml αρχείων
 με δεδομένα από τη database και μετά η δημιουργία ενός zip αρχείου με 
όλα τα files του directory, το website δηλαδή. &lt;br&gt;&lt;br&gt;Αλλά έχω πρόβλημα στο να εκτελεστεί ακριβώς αυτό που γράφω. Στο code behind της aspx σελίδας μου, έχω αυτές τις functions που βλέπεις και το txt αρχείο στο οποίο κάνω append. Αν έτρεχε σωστά ο κώδικας τα περιεχόμενα του αρχείου θα ήταν&lt;br&gt;&lt;br&gt;I am not the thread.&lt;br&gt;I am the thread.&lt;br&gt;&lt;br&gt;Αλλά το αρχείο περιέχει την πρώτη γραμμη μόνο, άρα δεν τρέχει καν η μία εντολή της DoStuff. Η αλήθεια είναι ότι αν δεν βάλω σε thread την DoStuff, η διαδικασία εκτελείται κανονικά. Το άρθρο που μου δείχνεις το διάβασα, αλλά ο κώδικας που θέλω να κάνει η DoStuff εκτελείται κανονικά σε medium trust περιβάλλον αν δεν είναι σε thread, δηλαδή δεν με περιορίζουν τα παραπάνω permission. Άρα κάτι αλλάζει όταν ο κώδικας εκτελείται μέσω του thread. Αλλά τι;&lt;br&gt;&lt;br&gt;Θα κάνω κ άλλες δοκιμές, π.χ. η DoStuff να μην κάνει I/O, απλά να γράφει σε κάποιες μεταβλητές. Κυρίως για να δώ αν όντως δεν ξεκινάει καν το thread ή απλά κάνει abort. θα δοκιμάσω ξανά την προσέγγιση του Άγγελου, μήπως έτσι δούμε κάποια διαφορά στην συμπεριφορά. &lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: asp.net και multithreading</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58828.aspx</link><pubDate>Thu, 27 May 2010 03:00:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58828</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58828.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=58828</wfw:commentRss><description>&lt;P&gt;Τι ακριβώς κάνει η DoStuff; Μήπως δεν είναι θέμα threading; Αντιγράφω από &lt;A href="http://msdn.microsoft.com/en-us/library/ff648344.aspx"&gt;εδώ&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Medium Trust Summary&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The main constraints placed on medium trust Web applications are: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;OleDbPermission&lt;/STRONG&gt; is not available. This means you cannot use the ADO.NET managed OLE DB data provider to access databases. However, you can use the managed SQL Server provider to access SQL Server databases. 
&lt;LI&gt;&lt;STRONG&gt;EventLogPermission&lt;/STRONG&gt; is not available. This means you cannot access the Windows event log. 
&lt;LI&gt;&lt;STRONG&gt;ReflectionPermission&lt;/STRONG&gt; is not available. This means you cannot use reflection. 
&lt;LI&gt;&lt;STRONG&gt;RegistryPermission&lt;/STRONG&gt; is not available. This means you cannot access the registry. 
&lt;LI&gt;&lt;STRONG&gt;WebPermission&lt;/STRONG&gt; is restricted. This means your application can only communicate with an address or range of addresses that you define in the &amp;lt;&lt;STRONG&gt;trust&lt;/STRONG&gt;&amp;gt; element. 
&lt;LI&gt;&lt;STRONG&gt;FileIOPermission&lt;/STRONG&gt; is restricted. This means you can only access files in your application's virtual directory hierarchy. Your application is granted Read, Write, Append, and PathDiscovery permissions for your application's virtual directory hierarchy. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You are also prevented from calling unmanaged code or from using Enterprise Services.&lt;/P&gt;
&lt;P&gt;Στο άρθρο αναφέρει πως να δημιουργήσεις custom policies σε medium trust environments. Ελπίζω να βοηθήσει.&lt;/P&gt;</description></item><item><title>Απ: Re: asp.net και multithreading</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58827.aspx</link><pubDate>Thu, 27 May 2010 00:52:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58827</guid><dc:creator>tasos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58827.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=58827</wfw:commentRss><description>Ναι, δοκίμασα κ αυτή τη προσέγγιση αλλά δεν είδα κάποια αλλαγή στη συμπεριφορά. Έχω την εντύπωση πως είναι θέμα με το medium trust διότι σε άλλον server που έχει full trust έχω εφαρμογές οι οποίες εκτελούν διάφορες εργασίες με νήματα. Δυστυχώς, με αρκετό googling δεν βρίσκω κάτι σχετικό. &lt;br&gt;</description></item><item><title>Re: asp.net και multithreading</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58824.aspx</link><pubDate>Thu, 27 May 2010 00:29:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58824</guid><dc:creator>Aggelos Biboudis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58824.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=58824</wfw:commentRss><description>Δοκίμασε με την ThreadPool&lt;span class="cs"&gt;&lt;/span&gt;&lt;span class="cpp"&gt;&lt;/span&gt;&lt;span class="nu"&gt;&lt;/span&gt;.QueueUserWorkItem Method&lt;br&gt;&lt;br&gt;http://msdn.microsoft.com/en-us/library/system.threading.threadpool.queueuserworkitem.aspx&lt;br&gt;&lt;br&gt;Αν και νομίζω ότι δεν γίνεται με αυτό τον τρόπο σε μια ASP.NET εφαρμογή... θα σκοτώσει το throughput καθώς οι workers είναι για άλλο πράγμα.&lt;br&gt;&lt;br&gt;</description></item><item><title>asp.net και multithreading</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/58822.aspx</link><pubDate>Wed, 26 May 2010 20:44:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:58822</guid><dc:creator>tasos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/58822.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=75&amp;PostID=58822</wfw:commentRss><description>Σε μία asp.net web application θέλω να τρέξω μία function η οποία θέλει αρκετό χρόνο για να εκτελεστεί. Αποφάσισα λοιπόν να την εκτελέσω σε ένα ξεχωριστό thread. Ο κώδικας είναι ο εξής:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt; WriteToLog(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; SomeString &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;String&lt;/span&gt;)&lt;br&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; myLog &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; IO.StreamWriter(LogPath, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;True&lt;/span&gt;)&lt;br&gt;        myLog.WriteLine(SomeString)&lt;br&gt;        myLog.Close()&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt;&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Protected&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt; Button1_Click(&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Object&lt;/span&gt;, &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; EventArgs) &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Handles&lt;/span&gt; Button1.Click&lt;br&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;        WriteToLog(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"I am not the thread"&lt;/span&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;        &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; myThread &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; Thread(&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AddressOf&lt;/span&gt; DoStuff)&lt;br&gt;        myThread.Start()&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt;&lt;br&gt;&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Private&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt; DoStuff()&lt;br&gt;        WriteToLog(&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"I am the thread"&lt;/span&gt;)&lt;br&gt;    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;End&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;&lt;br&gt;Τοπικά όλα τρέχουν όμορφα, αλλά όταν έκανα κάποιες δοκιμές στον production server μας είδα ότι δεν φαίνεται να τρέχει τίποτα. Δοκίμασα να απλοποιήσω την DoStuff() βάζοντας να κάνει κάτι απλό, π.χ. να γράψει σε ένα log file αλλά από ότι φαίνεται δεν τρέχει ούτε αυτό. Ο production server είναι σε medium trust, κ αυτό είναι η μόνη διαφορά που μπορώ να σκεφτώ. &lt;br&gt;&lt;br&gt;Καμιά ιδέα για το τι μπορεί να φταίει;&lt;br&gt;</description></item></channel></rss>