C# - Response.Redirect Results In "Object Moved To Here"?
Feb 2, 2010
I'm working on a C# ASP.NET page that normally ends up redirecting to a "file:" URL. This seems to work fine the majority of the time, in the majority of circumstances, but occasionally (and, on my test system, apparently always) instead of a redirect to a file I get a page with the text "Object moved to here", where "here" is a link to the file that I was trying to redirect to, but with four slashes after the colon instead of two (i.e. "file:////testserver/docs/testdoc.doc")This is normally accompanied by a "System.Threading.ThreadAbortException: Thread was being aborted" message.
I've looked for a solution elsewhere and found out some interesting stuff about Response.Redirect causing ThreadAbort exceptions, but that doesn't seem to be the fundamental problem - it seems to me that the actual problem is the "Object moved to here" message, which causes the exception to be thrown.
EDIT: Forgot to mention I'm running Firefox (3.5.7) with IE Tab, so was about to mention that when I thought I'd better try it in IE, and voila - it works in IE (7).
I would like to reorganize the directory structure on a hosted website (i.e. I can not go in and configure the IIS settings).
Say I had 3 files in the root directory:
fruitcake.html, chocolateCake.html, and appleMuffins.html
Now, I want to move them to a new folder called Recipes. This is easy enough, but there are a lot of existing links out there that point to the other files. How would I construct a 404.aspx page to read in which file was in the address bar, then update the browser to go to the new location?
I've a quick question and request you all to respond soon. I've developed a web service with Form based authentication as below. 1.An entry in web.config as below. <authentication mode="Forms">
I want to redirect to "~/City/Göteborg", but if I just write Response.Redirect("~/City/Göteborg"); I will end up with an ugly URL in the address-bar like this: http://www.mysite.com/City/G%c3%b6teborg..
So my question is how to redirect to obtain a clean url like http://www.mysite.com/City/Göteborg?
if ((Request.QueryString["UbytovaniePrispevokID"].ToString()) == "")[code]......
What i want to do is.. I have one main page with new posts Each subject of the new post is the link to Another page where is Specific post and coments and user can leave a coment.
What I want is when the Request.QueryString["UbytovaniePrispevokID"].ToString()) == "" or null I want to redirect to error page ...
I have developed a website that allows users to upload office documents then uses the office object model to convert the document to an HTML file that it then displays in an iFrame. I have, of course, included references to Office.interop.word, and the site works fine on my development machine. When I uploaded it to my production server the site functions fine until I try to upload a document. I initially got a similar error that said "COM object not registered". I realized that Word wasn't installed on my production server. So I installed word and now when the server tries to access the word object model I receive the following error:
Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
I searched the registry for the corresponding CLSID and found a corresponding folder. I added full control to the IUSR_ account and due to the persistence of the error I eventually added full control to "everyone" and ensured these permissions inherited down to the rest of the folder. I then added full control to IUSR_ and again eventually added full control to "everyone" to my microsoft office folder. I don't know what other permissions to grant and where in order to make this "Access is denied" error go away. I must be granting them in the wrong place, because as far as I know I can't be any more permissive than "Everyone" "Full Control".
I am using this code to download and its working well for me.But i cant understand the code.Can someone explain me this code to me please?
Response.AddHeader is used to add a new HTML header,but what is an HTML header all about?and the parameters i am passing within it as the name and value;what are they?
Is it necessary to call Response.End() after Response.Redirect(url) Update for all the answers. Because some answers say that it's necessary and others say no, I have searched more and have found in msdn under remarks the following: Redirect calls End which raises a ThreadAbortException exception upon completion.
[WebMethod] [SoapHeader("_webServiceAuth")] public User GetUser(string username){ try { this._validationMethods.Validate(_webServiceAuth); User user = new User(username); [code]...
I'm trying to create a HttpModule that changes the Response.Filter like so(for this demonstration just set the filter back to itself):
public class ContentTrafficMonitor : IHttpModule { public void Init( HttpApplication context ) { context.BeginRequest += OnBeginRequest;[code]....
Doing so sets the transfer encoding of the response to chunked, rather than using the Content-Length header.If I remove the line where the Response.Filter is set, the response does have the Content-Length header. Our application depends on the Content-Length header, is there any way to prevent this behavior?
I'm trying to make our (very heavily AJAX based) website more search engine friendly.We have a system where certain urls redirect to the main page after setting session variables to change the behavior of the main page. This is acheived using the Controller.Redirect method to create an ActionResult.
So for instance, the main page is:
http://radiotuna.com
but if we want to link to a radio station, we use:
http://radiotuna.com/s/66258
which redirects to the main page. However in this case, the displayed content is different due to Session variables that were set prior to the redirect.
What will be indexed by web crawlers when presented with this redirect?
Will Session be preserved in this case?
As far as I can tell there are a few possible outcomes:
crawler follows redirect, session info is preserved, crawled data is associated with http://radiotuna.com/s/66258 (the desired outcome)
crawler does not follow redirect. If we can send a page with the 302, this is OK-ish. Is this permitted?
crawler follows redirect, session info is preserved, crawled data is associated with http://radiotuna.com/ (bad)crawler follows redirect, but session info is discarded, so main (unmodified page) is associated with http://radiotuna.com/s/66258 (bad)
Perhaps a 302 is the wrong status to send back. Perhaps the idea of using redirects in this case is flawed.
EDIT: Why are we doing this? Ideally we'd like only a single URL to appear in the address bar, so we'd like to always redirect to the main page. When coming in from a redirect, this would result in a different title and meta description and it is this that we'd like to be picked up by the crawler and associated against the pre-redirect url.
EDIT2: Would it be better to detect if we're being hit by a crawler and to deliver the page without redirect in this case? How might one detect crawler clients?
I am working on a website that I inherited (ASP.NET and C#), and I noticed that in almost EVERY method in the code behind of the project pages (except some helper methods), the original author uses Response.Redirect() to redirect to a page (typically home.aspx, but not always).
What is the purpose of doing this? It seems unneeded to me - at least it doesn't appear to change anything the website is doing if I keep it in or remove it.
I have a flash image slider with a button below each image. When i press that button, the user is redirected to a new page where i add that image product to my cart. The problem is that after doing the adding, i want to redirect the user back to the initial page.
note that in Firefox is working fine but in IE or Chrome it is DOWNLOADING the swf...If i comment Response.Redict(...) the user remains on this page so the click button is working well, only the redirect seems to be the problem.
Edit: The problem seems to be that Request.UrlReferrer keeps as link not the initial page containing the swf but the swf itself.
So, instead of doing redirect to:[URL] if does redirect to the swf contained on the Index.aspx page[URL]
Solved: with a session variable where i keep the initial page's url
I recently upgraded a web app to ASP.NET 4.0 , but I have to downgrade it back to 2.0, because the Response.Redirect from another web app, which is in ASP.NET 2.0, did not work.
I'm looking at creating a simple URL shortening service for our corporate intranet, and I'm curious if anyone knows if there's a maximum length for URLs returned by ASP.NET's Response.Redirect method?
I am working with ASP.net MVC 2 framework, for multiple sites. We have a base site and then sub sites that inherit from a "Core" site that contains 90% of the functionality that the sub sites will use.
In one of the controllers, I am saving some data, adding a UI message to the tempData and then using Response.Redirect.
The redirect works, but the tempdata is empty after the redirect.
I have tried returning "RedirectToAction" and "RedirectToRoute" with the same routing location and while it populates the TempData, the redirect doesn't happen lol..
So I guess in short, is there a way to get tempdata working when using a standard Response.Redirect?
Is it possible to pass on variables in response.redirect in a query string kind of way (without using form and submit).
If yes, what is the format?
I want to pass some variable (from a text box) from a classic asp page to .aspx page and this is what I am trying to do (I could not use session variables since classic asp and .NET asp share different sessions)-
I've just finished reading URL vs. URI vs. URN, in More Concise Terms, and it's really helped understand the distinction between the three terms. Since then I've skimmed the RFC2141 and RFC2616 specs and Microsoft's Response.Redirect Method documentation in an effort to answer the following question confidently.
Given this line of code:
Response.Redirect("~/Foo.aspx");
And this resulting HTTP response (trimmed for context):
What this code does at the end is Redirects to a direct download, and THEN afterwards, to a "tutorial page" on how to use the download. I can't seem to use these back to back. I've even used Response.Redirect(tutorialURL, false) so it wouldn't terminate processing, but it didn't work. It just STOPPED page processing. I've tried to use the Sleep() method of the Threading namespace, no luck. I'm sure there's an easy way to do this, I just don't know what it is.