<?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>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Windows Service event handling(?)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53742.aspx</link><pubDate>Tue, 15 Sep 2009 21:57:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53742</guid><dc:creator>Τάσκος Γιώργος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53742.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=53742</wfw:commentRss><description>&lt;P&gt;Ωραίος, για ότι άλλο πρόβλημα άνοιξε καινούριο θέμα και το συζηταμε ;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Windows Service event handling(?)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53741.aspx</link><pubDate>Tue, 15 Sep 2009 21:44:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53741</guid><dc:creator>mukumuku</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53741.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=53741</wfw:commentRss><description>Βρήκα τι έφταιγε και απλά το παραθέτω σε περίπτωση που κάποιος έχει το συγκεκριμένο πρόβλημα στο μέλλον. Το κυρίως thread ενός windows service δεν έχει message pump και δεν δημιουργούνται events. Οπότε στην onStart έτρεξα την Server.Listen() μέσα σε ενα καινούριο thread και έτσι άρχισε να λειτουργεί ο server μου. (Βέβαια προέκυψαν άλλα προβλήματα αλλά το ψάχνω :p) &lt;br&gt;</description></item><item><title>Απ: Windows Service event handling(?)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53461.aspx</link><pubDate>Fri, 04 Sep 2009 00:07:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53461</guid><dc:creator>mukumuku</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53461.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=53461</wfw:commentRss><description>Ευχαριστώ για την μέχρι τώρα βοήθεια.&lt;br&gt;&lt;br&gt;1ον) Το έχω ελέγξει, θα καταγραφόταν ούτως ή άλλως στα logs μου ή στον event viewer που το έχω κοιτάξει.&lt;br&gt;&lt;br&gt;2ον) Δεν γίνεται dispose γιατί αν γινόταν τότε όταν θα έτρεχα την windows forms εφαρμογή δεν θα μου πετούσε το exception "network address is in use". Αυτό σημαίνει ότι ο server μου "ακούει".&lt;br&gt;&lt;br&gt;3ον) Ανεξαρτήτως αποτελέσματος η OnAccept καταγράφει κάποια στοιχεία σε log file. Για να μην γράφει σε κάποιο log τότε δεν μπαίνει στην onAccept. Έχω φτιάξει τα&amp;nbsp; permissions για να γράψω στο φακέλο που κρατάω τα logs από το service και το έχω δοκιμάσει ότι γράφει σε περίπτωση που σκεφτείς ότι δεν το έχω κάνει γι αυτό δεν καταγράφονται τα logs :p&lt;br&gt;&lt;br&gt;Γενικά δεν είναι πρόβλημα του κώδικα γιατί όλη η εφαρμογή έχει δοκιμαστεί όσο ήταν σε windows form μορφή. Έκανα copy paste τις κλάσεις μου και ότι κώδικα είχα στην form load τον έβαλα στην onStart. Κάθε πρόταση ευπρόσδεκτη γιατί δεν έχω και προηγούμενη εμπειρία με services και δεν ξέρω τι μπορεί να φταίει.&lt;br&gt;</description></item><item><title>Απ: Windows Service event handling(?)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53460.aspx</link><pubDate>Thu, 03 Sep 2009 23:48:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53460</guid><dc:creator>Τάσκος Γιώργος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53460.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=53460</wfw:commentRss><description>Τα δικάσου events θα λειτουργησουν κανονικά. Απλά το Service σαν Service δεν σου δίνει "Events".&lt;br&gt;Προτείνω να ελέγξεις αν : &lt;br&gt;&lt;br&gt;1ον: Το service ξεκινάει κανονικά και δεν πέφτει μετά απο λίγο ή οταν κάνεις connect.&lt;br&gt;&lt;br&gt;2ον: Κάνει όντως connect ο client, μήπως για κάποιο λόγο το αντικειμενό σου (Server) γίνετε dispose μετά απο λίγο?&lt;br&gt;Βάλτο εξαίρεση στον Garbage Collector.&lt;br&gt;&lt;br&gt;3ον: Προσπάθησε να καλέσεις στην OnStart του service την δικιά σου OnAccept να δείς αν σου φέρνει&lt;br&gt;το αποτέλεσμα που θέλεις, και ότι δεν ειναι πρόβλημα του κώδικα και του service,&lt;br&gt;αλλά της επικοινωνίας, ώστε να περιορίσεις το εύρος του debugging που έχεις βρεθεί τωρα.&lt;br&gt;&lt;br&gt;Δεν μου έρχετε κάτι άλλο με αυτά που λέμε ως τώρα.&lt;br&gt;</description></item><item><title>Απ: Windows Service event handling(?)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53459.aspx</link><pubDate>Thu, 03 Sep 2009 23:07:07 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53459</guid><dc:creator>mukumuku</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53459.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=53459</wfw:commentRss><description>Λοιπόν, καταρχήν χρησιμοποιώ ένα sdk για dicom πρωτόκολλο (ιατρική εικόνα). Ίσως να μην το έθεσα και εγώ πολύ σωστά στην αρχή με το event αφού απ'ότι κατάλαβα δεν είναι event, απλά εκ παραδρομής το έγραψα... Στο sdk που χρησιμοποιώ κάνω override κάποιες μεθόδους κι εγώ. Τέλος πάντων εκεί που ξεκινάει η διαδικασία επικοινωνίας χρησιμοποιώ μια μέθοδο που έχω κάνει override, την  onAccept. Από το documentation του sdk που χρησιμοποιώ για την onAccept: "A call to this method is generated on an SCP when an SCU calls connect". H connect καλείται από την client εφαρμογή μου. Το θέμα είναι ότι το service μου δεν μπαίνει ποτέ στην onAccept για να ξεκινήσει η όλη διαδικασία.&lt;br&gt;&lt;br&gt;Τώρα, Η listen είναι derived δεν ξέρω τι κάνει εσωτερικά πάντως αυτή λειτουργεί επαληθευμένα όπως έγραψα παραπάνω. Πόρτα 104 δοκίμασα και 13000+.&lt;br&gt;&lt;br&gt;Τώρα αυτό που είπες για τα events με προβλημάτισε λίγο. Αρκετά πιο κάτω στον κώδικα μου, σε μια κλάση μου έχω βάλει ένα autoreset event και έχω φτιάξει και κάτι μεθόδους που παγώνουν ένα thread μέχρι να ολοκληρωθεί ένα άλλο και για να γίνει αυτό κάνουν trigger ένα event που επίσης έχω φτιάξει. Αυτό το πράμα δηλαδή δεν θα λειτουργήσει μέσα σε windows service?&lt;br&gt;</description></item><item><title>Απ: Windows Service event handling(?)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53458.aspx</link><pubDate>Thu, 03 Sep 2009 22:06:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53458</guid><dc:creator>Τάσκος Γιώργος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53458.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=53458</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;mukumuku:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;...Όταν ένας client πάει να συνδεθεί τότε γίνεται triggered ένα event και ξεκινάει η λειτουργία της εφαρμογής. Αν έπιανε το event τότε θα μου έγραφε στο connection log, κάτι το οποίο δεν γίνεται. Που σημαίνει ότι δεν πιάνει το event.... &lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Για ποιο event μιλάς εδώ? Μπορείς να δείξεις πως το κάνεις handling?&lt;br&gt;&lt;br&gt;Δεν υπάρχουν "events" από όσο ξέρω σε ένα windows service, κάνεις ovveride κάποιες μεθόδους από:&lt;br&gt;&lt;br&gt;&lt;span&gt;&lt;font face="Verdana" size="2"&gt;System.ServiceProcess.ServiceBase.&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;font face="Verdana" size="2"&gt;OnStart&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Indicate what actions should be taken
when your service starts running. You must write code in this procedure
for your service to perform useful work.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;OnPause&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Indicate what should happen when your service is paused.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;OnStop&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Indicate what should happen when your service stops running.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;OnContinue&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Indicate what should happen when your service resumes normal functioning after being paused.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;OnShutDown&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Indicate what should happen just prior to your system shutting down, if your service is running at that time.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;OnCustomCommand&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Indicate what should happen when your
service receives a custom command. For more information on custom
commands, see MSDN online.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;OnPowerEvent&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Indicate how the service should respond when a power management event is received, such as a low battery or suspended operation.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;Run&amp;nbsp;&lt;/font&gt;&lt;/td&gt;
&lt;td&gt;&lt;font face="Verdana" size="2"&gt;The main entry point for the service, u sally in the Main method&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;[src:MSDN]&lt;br&gt;&lt;br&gt;Θα μπορούσα να υποθέσω πολλά και διάφορα...αλλά θέλουμε κι άλλες πληροφορίες.&lt;br&gt;Όπως, τι κάνεις στην Server.Listen()? Ποιος είναι ο σκοπός σου γενικά? Ακούς σε κάποια TCP Port? Ποια?&lt;br&gt;&lt;br&gt;Γενικά πάλι η γνώμη μου θα ήταν αν ξαναέκανες κάτι τέτοιο και για "εύκολο" debugging όπως λές, να το κάνεις σε Console App.&lt;br&gt;&lt;br&gt;</description></item><item><title>Windows Service event handling(?)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/53453.aspx</link><pubDate>Thu, 03 Sep 2009 20:32:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:53453</guid><dc:creator>mukumuku</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/53453.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=53453</wfw:commentRss><description>Γεια χαρά,&lt;br&gt;&lt;br&gt;Έχω το εξής πρόβλημα. Έχω φτιάξει μια εφαρμογή σε windows form μορφή και δουλεύει μια χαρά. Την έφτιαξα αρχικά έτσι για ευκολότερο debugging. Μετά πήρα τον κώδικα όπως ήταν και μετέτρεψα την εφαρμογή σε windows service. Η εφαρμογή είναι στην ουσία ένας server για δικτυακή επικοινωνία ενός συγκεκριμένου πρωτόκολλου. Όσο ήταν windows form είχε μέσα στην Load της φόρμας μια γραμμή Server.Listen(). Αυτή την γραμμή την έβαλα μέσα στην onStart του windows service. Το πρόβλημα είναι ότι δεν μου λειτουργεί πλέον.&lt;br&gt;&lt;br&gt;Κρατάω logs, για exceptions και για connections. Όταν ένας client πάει να συνδεθεί τότε γίνεται triggered ένα event και ξεκινάει η λειτουργία της εφαρμογής. Αν έπιανε το event τότε θα μου έγραφε στο connection log, κάτι το οποίο δεν γίνεται. Που σημαίνει ότι δεν πιάνει το event. O client στη συγκεκριμένη περίπτωση που το δοκιμάζω είναι μια windows forms εφαρμογή που τρέχει τοπικά στο pc μου. Με την ίδια εφαρμογή το δοκίμαζα και όσο ήταν σε windows forms μορφή και λειτουργούσε σωστά. Ούτε κάποιο exception "πετάγεται". Επίσης ούτε στο event log των windows δείχνει κάποιο error.&lt;br&gt;&lt;br&gt;Είναι η πρώτη φορά που φτιάχνω windows service εφαρμογή και δεν ξέρω τι μπορεί να φταίει. Γίνεται κάτι διαφορετικό στο event handling στα windows services? Είναι κάτι άλλο? Δεν ξέρω τι να κοιτάξω πραγματικά. Ο server τρέχει κανονικά και "ακούει" απλά οι clients δεν μπορούν να συνδεθούν στην συγκεκριμένη πόρτα. Δοκίμασα κι άλλη πόρτα&amp;nbsp; μήπως δεν του άρεσε αυτή ως windows service αλλά τίποτα. &lt;br&gt;&lt;br&gt;Σημείωση : Επαλήθευσα ότι ο Server "ακούει" ανοίγωντας την windows form μορφή της εφαρμογής μου όσο το service έτρεχε. Πετούσε exception στην Form.Load στη γραμμή Server.Listen() ότι η διεύθυνση δικτύου χρησιμοποιείται. Οπότε αποκλείω το ενδεχόμενο για κάποιο λόγο να μην "ακούει" ο Server.&lt;br&gt;</description></item></channel></rss>