<?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>ASP.NET WebForms</title><link>https://www.dotnetzone.gr:443/cs/forums/13/ShowForum.aspx</link><description>Θέματα για web εφαρμογές, σε ASP.NET WebForms</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ:SharePoint, customErrors &amp; 404 error pages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4313.aspx</link><pubDate>Wed, 17 Aug 2005 14:10:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4313</guid><dc:creator>rousso</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4313.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=4313</wfw:commentRss><description>&lt;P&gt;&lt;FONT color=#808080&gt;follow-up:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Τα είδα... (τα είχα ξαναδεί κι όταν το έψαχνα...)&lt;/P&gt;
&lt;P&gt;Σε όλο το web τα&amp;nbsp;2-3 πιο σχετικά&amp;nbsp;σημεία με το θέμα μου&amp;nbsp;που βρήκα όσο το έψαχνα είναι:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://groups-beta.google.com/group/microsoft.public.sharepoint.windowsservices/browse_frm/thread/c1c0420a92cc5f7/e15faaa9c4189923?tvc=1&amp;amp;q=404+wss&amp;amp;hl=en#e15faaa9c4189923" target=_blank&gt;http://groups-beta.google.com/group/microsoft.public.sharepoint.windowsservices/browse_frm/thread/c1c0420a92cc5f7/e15faaa9c4189923?tvc=1&amp;amp;q=404+wss&amp;amp;hl=en#e15faaa9c4189923&lt;/A&gt;&amp;nbsp;&lt;BR&gt;(που δεν καταλήγει πουθενά...) 
&lt;LI&gt;&lt;A href="http://groups-beta.google.com/group/microsoft.public.sharepoint.windowsservices/browse_frm/thread/a45a2b4fe1ba3a47/d3b9b1331a5fad40?lnk=st&amp;amp;q=404+wss&amp;amp;rnum=7&amp;amp;hl=en#d3b9b1331a5fad40" target=_blank&gt;http://groups-beta.google.com/group/microsoft.public.sharepoint.windowsservices/browse_frm/thread/a45a2b4fe1ba3a47/d3b9b1331a5fad40?lnk=st&amp;amp;q=404+wss&amp;amp;rnum=7&amp;amp;hl=en#d3b9b1331a5fad40&lt;/A&gt;&amp;nbsp;&lt;BR&gt;(που επίσης δεν καταλήγει πουθενά...) 
&lt;LI&gt;&lt;A href="http://groups-beta.google.com/group/microsoft.public.sharepoint.windowsservices.development/browse_frm/thread/6138cfc0f6d028ae/e340ee746e242c45?lnk=st&amp;amp;q=404+wss&amp;amp;rnum=10&amp;amp;hl=en#e340ee746e242c45" target=_blank&gt;http://groups-beta.google.com/group/microsoft.public.sharepoint.windowsservices.development/browse_frm/thread/6138cfc0f6d028ae/e340ee746e242c45?lnk=st&amp;amp;q=404+wss&amp;amp;rnum=10&amp;amp;hl=en#e340ee746e242c45&lt;/A&gt;&amp;nbsp;&lt;BR&gt;(που κάτι πάει να πεί αλλά δεν το ολοκληρώνει οπότε δεν ξέρουμε κι αν λύνει το πρόβλημα με τα .htm...) 
&lt;LI&gt;&lt;A href="http://groups.google.nl/group/microsoft.public.sharepoint.portalserver.development/browse_thread/thread/1394c8b870ef8665/808f46ef16c34ac1?lnk=st&amp;amp;q=sharepoint+404+wei&amp;amp;rnum=2&amp;amp;hl=nl#808f46ef16c34ac1" target=_blank&gt;http://groups.google.nl/group/microsoft.public.sharepoint.portalserver.development/browse_thread/thread/1394c8b870ef8665/808f46ef16c34ac1?lnk=st&amp;amp;q=sharepoint+404+wei&amp;amp;rnum=2&amp;amp;hl=nl#808f46ef16c34ac1&lt;/A&gt;&amp;nbsp;&lt;BR&gt;(που είναι στην κατεύθυνση που ακολούθησα αλλά επίσης δεν είναι ολοκληρωμένο στον βαθμό που να αντιμετωπίζει τα requests που δεν χειρίζεται η ASP.NET. Αυτό που κάνει με το HttpModule πρακτικά είναι το ίδιο πράγμα με αυτό που έκανα εγώ με το global.asax) 
&lt;LI&gt;Υπάρχουν μερικά ακόμα μετρημένα στα δάκτυλα που επίσης καταλήγουν με ένα αναπάντητο ερωτηματικό &lt;img src="/cs/emoticons/emotion-6.gif" alt="Sad [:(]" /&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Μια ιδέα είναι να ρυθμίσω έτσι το site που όλα τα requests να τα περνάει από το ASP.NET framework... Δοκίμασα να το κάνω προσθέτοντας το .htm extension στα Application Mappings στον IIS Manager/Site/Properties/Home Directory/Configuration/Mappings&amp;nbsp;αλλά δεν είδα προκοπή. (Κατάλαβες τι έκανα... Έκανα map τα .htm στο aspnet_isapi.dll). Με αγνόησε πλήρως... Τα mappings τα κάνει override με κάποιο τρόπο προφανώς το WSS ISAPI. Αυτό δεν αποκλείεται να ρυθμίζεται με κάποιο τρόπο στο registry αλλά δεν έχω δει πουθενά σχετικό hint προς το παρόν και δεν το έψαξα περισσότερο σε αυτή την κατεύθυνση..&lt;/P&gt;
&lt;P&gt;rousso&lt;/P&gt;</description></item><item><title>Απ:SharePoint, customErrors &amp; 404 error pages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4310.aspx</link><pubDate>Wed, 17 Aug 2005 02:16:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4310</guid><dc:creator>rousso</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4310.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=4310</wfw:commentRss><description>&lt;P&gt;Το ξέρω ότι είναι στο fpext.msg το οποίο δεν είναι editable...&lt;/P&gt;
&lt;P&gt;Το θέμα είναι πως θα πιάσω εγώ το 404 πριν το πιάσει το WSS (ή αφού το πιάσει αλλά πριν φύγει το response) χωρίς να γράψω δικό μου ISAPI filter....&lt;/P&gt;
&lt;P&gt;&lt;img src="/cs/emoticons/emotion-1.gif" alt="Smile [:)]" /&gt;&lt;/P&gt;
&lt;P&gt;thanks so far... θα δω τα links που μου στέλνεις στη συνέχεια μήπως έχει κάτι που δεν έχω προσέξει ως τώρα...&lt;/P&gt;
&lt;P&gt;thanks&lt;/P&gt;</description></item><item><title>Απ:SharePoint, customErrors &amp; 404 error pages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4309.aspx</link><pubDate>Wed, 17 Aug 2005 02:01:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4309</guid><dc:creator>Χρήστος Γεωργακόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4309.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=4309</wfw:commentRss><description>&lt;P&gt;Επειδή με κάλυψες με όλα αυτά που σκέφτηκες, είπα να ψάξω και εγώ:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.tech-archive.net/Archive/Internet-Server/microsoft.public.inetserver.iis/2004-07/1388.html"&gt;http://www.tech-archive.net/Archive/Internet-Server/microsoft.public.inetserver.iis/2004-07/1388.html&lt;/A&gt;&lt;BR&gt;Απαντάει κάποιος από το support της Microsoft πως είναι καρφωτά και δεν αλλάζουν&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;A href="http://wss.collutions.com/pages/I%20-%20General.aspx"&gt;http://wss.collutions.com/pages/I%20-%20General.aspx&lt;/A&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;STRONG&gt;Can I amend Error and other System Messages?&lt;/STRONG&gt; In STS 1.0 a common request was to have the ability to amend error and other systems messages such as the message informing someone that they an amendment has been made. Usually in STS 1.0 the answer was that such messages were hard-coded and could not be changed. &lt;U&gt;In WSS Error messages are still hard-coded&lt;/U&gt;. Most of them are stored in the fpext.msg file which is not editable. (space left for system messages info).&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Μήπως να έριχνες μια ματιά και στο registry για σχετικές παραμέτρους;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>SharePoint, customErrors &amp; 404 error pages</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/4167.aspx</link><pubDate>Thu, 11 Aug 2005 19:05:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:4167</guid><dc:creator>rousso</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/4167.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=13&amp;PostID=4167</wfw:commentRss><description>&lt;P&gt;Καλημέρα,&lt;/P&gt;
&lt;P&gt;αφού ξόδεψα πάνω από&amp;nbsp;6 ώρες googling arround και αφού δοκίμασα όλα όσα ήξερα κα μπόρεσα να μάθω σε αυτό το χρονικό διάστημα, έχω αρχίσει να απελπίζομαι και αποφάσισα να μοιραστώ το πρόβλημά μου μαζί σας.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Το πρόβλημα:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Έχω ένα SharePoint (WSS) site. Όλα καλά.&lt;/P&gt;
&lt;P&gt;Θέλω να "πιάνω" τα client errors του IIS και ειδικά το 404 (File not found). Δηλάδή όταν κάποιος χρήστης ζητήσει μια σελίδα που δεν υπάρχει, θέλω να παίρνει ένα custom 404 error page. Απλό ακούγεται... Αλλά δεν είναι... Έχω αρχίσει δε&amp;nbsp; να φοβάμαι ότι μπορεί και να μην γίνεται...&lt;/P&gt;
&lt;P&gt;Πιο συγκεκριμένα:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Οι λύσεις που δοκίμασα:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Στον Internet Information Services Manager πήγα στο site μου, right-clik, Properties, Custom Errors tab, και άλλαξα τα default settings για το 404, 404.2 και 404.3 errors σε URL που δείχνει μέσα στο site μου ("/404.aspx"). Ήμουνα βέβαιος ότι θα δούλευε.. Κι όμως... ούτε που συγκινήθηκε καθόλου ο server και μου έστελνε το ίδιο default error page.&lt;/P&gt;
&lt;P&gt;Λέω μετά "ας πάω και στο web.config"... Πάω λοιπόν και στο customErrors section προσθέτω ένα&amp;nbsp;&amp;nbsp;&amp;lt;customErrors mode="On" &amp;gt;&amp;lt;error statusCode="404" redirect="~/404.aspx" /&amp;gt;&amp;lt;/customErrors &amp;gt; ως ήτο αναμενενόμενο. Λέω λοιπόν: "για να δούμε;".... Καμία συγκίνιση! Το ίδιο default 404 error page.&lt;/P&gt;
&lt;P&gt;Με λίγη παρατηρητικότητα πρόσεξα ότι το default error page που έβλεπα έμοιαζε αλλά δεν ήταν ακριβώς το ίδο με το default error page του IIS6 μου (το οποίο βρίσκεται στο path C:\WINDOWS\help\iisHelp\common\). Αντιθέτως το error page που έπαιρνα (με λίγη ακόμα παρατηρητικότα) εντόπισα ότι ήταν στο res://C:WINNT\system32\shdoclc.dll/http_404.htm.... Οπότε λέω... "Αυτό είναι IE specific! Για να δούμε τι λέει και το Netscape;" Και το Netscape έλεγε: "404 NOT FOUND", και σε View/Page Source... ακριβώς το ίδιο (σκέτο text "404 NOT FOUND").&amp;nbsp;Μολίς το βλέπει αυτό ο IE σε πάει στο "friendly error message" του (το οποίο παρεπιτόντως είχα&amp;nbsp;τσεκαρισμένο στο Tools/Internet Options/Advanced)...&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ποιός το βάζει λοιπόν αυτό το "404 NOT FOUND" εκεί; Στον IIS έχω πει να χρησιμοποιεί δικιά μου σελίδα για το 404. Στην ASP.NET μέσα στο web.config μου έχω κάνει το ίδιο... Οπότε λέω "oops! Κάτι άλλο μπαίνει στη μέση! Τι άλλο; Το πρώτο πράγμα που σκέφτηκα ήταν WSS ISAPI!"&lt;/P&gt;
&lt;P&gt;Άρα το πρόβλημα, στη φάση αυτή, εντοπίστηκε στο πως θα παρακάμψω το WSS ISAPI ή πως θα το ξεγελάσω ή πως εν πάσει περιπτώσει θα το βάλω να κάνει αυτό που θέλω..&lt;/P&gt;
&lt;P&gt;Για να το παρακάμψω ένας καλός τρόπος ήταν να γράψω εγώ ένα ISAPI filter που θα προσθέσω στο site και θα κάνω τη δουλειά μου πριν το πάρει χαμπάρι το WSS. Αυτό όμως δεν είναι η καλύτερη ιδέα και είπα να δω πρώτα αν μπορώ να πετύχω το στόχο μου με πιο απλό, γρήγορο και κομψό τρόπο...&lt;/P&gt;
&lt;P&gt;Για να κάνω και ένα cross-check ότι δεν είμαι σε λάθος δρόμο, πήγα και στο SharePoint Central Administration και έριξα μια ματιά στο Define Managed Paths. Εκεί (αφού πρώτα έφτιαξα ένα physical (as opposed to WSS) folder στο website μου όχι με FP 2003 αλλά με File Explorer μέσα στο physical root folder), πρόσθεσα ένα exclusion για το /test. Δοκίμασα λοιπόν ένα request του τύπου http://myserver&lt;STRONG&gt;/test&lt;/STRONG&gt;/lalala και oops! Δουλεύει! Με έστειλε στο 404 error page που είχα ορίσει στο Custom Errors tab του IIS Manager. Μόνο που αυτό δουλεύει εφόσον το error page είναι σε unmanaged path. Αντίθετα το http://myserver/lalalala (που δεν υπάρχει) μου στέλενει πάραυτα το γνωστό "404 NOT FOUND" που προανέφερα...&lt;/P&gt;
&lt;P&gt;Το πρόβλημα φυσικά παραμένει οπότε συνεχίζονται και οι προσπάθειες...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Λέω λοιπόν να πάω στο root του WSS site μου και να προσθέσω ένα global.asax (που δεν υπάρχει by default), να κάνω τη δουλειά μου...&lt;/P&gt;
&lt;P&gt;Βάζω λοιπόν το global.asax (χωρίς codebehind φυσικά) και γράφω:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;%@ Application&amp;nbsp; language="C#" %&amp;gt;&lt;BR&gt;&amp;lt;script runat="server"&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;virtual protected void Application_BeginRequest(Object sender, EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write("begin request caught");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;virtual protected void Application_EndRequest(Object sender, EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write("end request caught");&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Και φυσικά βλέπω στην αρχή και το τέλος κάθε σελίδας τα δύο μηνυματάκια που έβαλα στο global.asax οπότε λέω "we are in business"...&lt;/P&gt;
&lt;P&gt;To τροποποιώ λοιπόν (το global.asax) ως εξής:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;lt;%@ Application&amp;nbsp; language="C#" %&amp;gt;&lt;BR&gt;&amp;lt;script runat="server"&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;virtual protected void Application_EndRequest(Object sender, EventArgs e)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (Response.StatusCode == 404)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Clear();&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// δεν μπορώ να κάνω Response.Redirect εδω,&amp;nbsp;ούτε Server.Transfer, οπότε...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(String.Format("&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;script&amp;gt;self.location='/404.aspx';&amp;lt;{0}script&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;", "/"));&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Και τρέχω να δοκιμάσω! Ω! Ναι! δουλεύει! ΑΛΛΑ.... μόνο για .ASPX requests... Δηλαδή το http://myserver/aPageThatDoesNotExist&lt;STRONG&gt;.ASPX&lt;/STRONG&gt; κάνει τελικά redirect στο error page μου όπως ήθελα και όπως τα είχα κανονίσει στο global.asax! &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;ΑΛΛΑ...&lt;/STRONG&gt; αν ζητήσεις http://myserver/aPageThatDoesNotExist&lt;STRONG&gt;.HTM&lt;/STRONG&gt; .... ως αναμενόμενο... δεν πιάνει καθώς για τα htm δεν τρέχει το global.asax μια και δεν χειρίζεται αυτό τα requests...&lt;/P&gt;
&lt;P&gt;Τι κάνουμε λοιπόν;;;; Εμένα το πρόβλημά μου βρίσκεται στα .htm κυρίως!&lt;/P&gt;
&lt;P&gt;Προς το παρόν ακόμα ψάχνομαι...&lt;/P&gt;
&lt;P&gt;Καμιά καλή ιδέα κανείς;;;;;;&lt;/P&gt;
&lt;P&gt;rousso&lt;/P&gt;</description></item></channel></rss>