问题标签 [server.transfer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
840 浏览

c# - ASP.NET URL 重新映射和重定向 - 需要最佳实践

这就是场景:我有一个大约 5000 个 URL 的列表,这些 URL 已经发布给不同的客户。现在,所有这些 URL 的位置在我的服务器端都发生了变化。服务器还是一样的。这是一个 .NET3.5/C# 的 ASP.NET 网站。

我的要求是:尽管客户使用旧的源 URL,但他们应该被重定向到新的 URL,而没有任何感知的更改或中间重定向消息等。

我试图理解整个场景:

  1. 我会将旧 URL 到新 URL 的实际映射放在哪里——在数据库或某些配置中。文件还是有更好的选择?

  2. 我将如何实际实现重定向:
    我应该使用 Server.Transfer 或 Response.Redirect 编写方法吗?
    是否有最佳实践 - 将实际的重新路由放置在 HTTPModules 中......或者它是 Application_BeginRequest?

我希望通过符合最佳实践的方法和非常低的性能下降(如果有的话)来实现。

0 投票
1 回答
465 浏览

seo - SEO 问题,以及关于 Server.Transfer (Asp.net)

因此,我们正在尝试提高我们的应用程序在搜索引擎中的排名,而我们的 SEO 人员告诉我们这样做的一种方法是注册类似的域……例如,我们有类似

所以..我们获得了域parks.com(再次只是一个例子)。

现在当人们去http://www.parks.com...我们希望它显示的内容http://www.myapplication.com/parks.html

我可以在那里放置一个转发页面,但据我所知,这让我们看起来很糟糕,因为它在技术上是一个永久重定向......我们正试图在搜索引擎排名中获得更高的排名,而不是更低的排名。

这是我们将使用 ASP.net 的 Server.Transfer 方法的情况吗?

这种情况是如何处理的,因为我已经看到许多网站都这样做了。

我们也不想欺骗系统,我们展示的是相关内容,而不是垃圾邮件或以任何方式欺骗客户,所以实现我正在寻找的正确方法会很棒。

谢谢

0 投票
1 回答
1740 浏览

try-catch - Try-catch 中的 Server.Transfer :线程中止异常

相当于什么

当我使用 Server.Transfer 而不是 Response.Redirect 时。我使用 false 作为 Response.Redirect 的第二个参数来停止在 try catch 块中接收 ThreadAbort 异常

当我在 try catch 块中使用 Server.Transferis 时,我想摆脱 Thread.Abort 异常。有什么想法吗 ?

0 投票
1 回答
1370 浏览

c# - 当我使用带有 Silverlight 4.0 的 WebClient 调用 aspx 页面时无法执行 Response.Redirect

我正在从事 Silverlight 项目。当我将 jpg 图片保存到内存流中以将其保存到 Context.InputStream 中时,它工作正常。我正在调用一个 aspx 页面,该页面将上传内容线程化到服务器中。

但是当上传完成或失败时,我无法执行“response.redirect”或“server.transfer”。是因为我使用 WebClient 从 Silverlight 调用我的 aspx 页面吗?

请在下面的 Silverlight 中找到代码:

在aspx页面上,我有这个代码

我也尝试过 response.redirection("uploadOk.aspx",false) 但它不起作用。我收到以下异常“[System.Threading.ThreadAbortException] = {无法评估表达式,因为代码已优化或本机框架位于调用堆栈顶部。}”</p>

您知道如何使用 WebClient 进行重定向吗?

先感谢您

0 投票
2 回答
4138 浏览

asp.net-mvc - 在 MVC 3 RC 中实现 TransferResult - 不起作用

任何想法如何解决以下问题?

这里有一个很好的 TransferResult 实现,它在 MVC 1,2 上运行良好,但在 MVC 3 RC 上不起作用。

在 MVC 3 RC 上,httpHandler.ProcessRequest 失败并说'HttpContext.SetSessionStateBehavior' can only be invoked before 'HttpApplication.AcquireRequestState' event is raised.

如何重写此代码以使其工作?

UPD:如果在 VS 2010 内置开发服务器上运行,代码可以工作,但无法在 IIS 7.5 localhost 上运行。问题仍未解决。

UPD2答案包含与 MVC3 一起使用的 TransferResult 的修改实现。事实证明它比以前更简单。

0 投票
1 回答
629 浏览

asp.net - 如果 server.execute 的子进程调用 Server.Transfer 或 handler.ProcessRequest 或 Response.Redirect,会发生什么?

我正在尝试运行(在 try 块中,没有 catch 而是 finally)

子页面尝试运行以下之一:

我可以期望控制权返回到我的原始页面吗?我想我可能 - 一旦代码到达(例如)Server.Transfer,我发现自己回到了我的 finally 块中的原始父页面(但我的 Server.Execute 之后的任何代码都被跳过了)。

请注意,如果我只是重定向到第一个子页面,它就可以正常工作,但是我必须传递 cookie 才能越过登录障碍(我试图用 Server.Execute 绕过它)。

这些嵌套执行、传输和重定向的预期行为是什么?

0 投票
3 回答
6278 浏览

asp-classic - asp Server.Transfer put 参数

我用谷歌搜索了很多样本​​,都显示了这样的代码

但我收到错误 - 在 MapPath 方法的 Path 参数中指定了无效字符。

你能帮助我吗?

0 投票
1 回答
5460 浏览

c# - Global.asax 中的 Server.Transfer

我在 global.asax 的 Application_Error 方法中有一个自定义错误处理程序,当发生错误时,我使用以下代码将用户转移到错误页面:

但是,在没有指定实际页面名称的情况下,上面的代码会因“ Error execution child request for /Error/ ”异常而中断。

因此,如果我使用Server.Transfer("/Error/Default.aspx")它,它可以正常工作,没有任何问题。

同样使用也可以Response.Redirect("/Error/")正常工作,但是我们希望继续使用 Server.Transfer 以在显示错误页面时保留地址栏中显示的 URL,以便用户可以简单地刷新页面以重试访问原始的违规 URL。

如果有人可以评论如何在不指定实际 aspx 页面名称的情况下使 Server.Transfer 方法正常工作,将不胜感激。

非常感谢。

0 投票
2 回答
581 浏览

.net - Server.Transfer 方法

我什么时候应该使用Server.Transfer()方法?

使用这种方法有什么好处?

0 投票
2 回答
1375 浏览

asp.net - IIS7 ASPX 404 错误页面/Server.Transfer 和相对路径问题

我正在尝试实现一个通用的 .NET 3.5 ASPX 404 错误页面,该页面处理 IIS 7(经典模式)中的“未找到”请求以及代码中抛出的 404 HttpExceptions。我正在避免 customErrors 因为我想要一个真正的 404 返回码而不是重定向。

为此,我在 web.config 的 system.webserver 部分添加了以下内容:

我还在 Global.asax Application_Error 中添加了一个 Server.Transfer 调用来捕获代码中抛出的异常。

问题是相对路径(例如 app_themes 以及任何链接)是相对于错误页面而不是原始请求的 URL 计算的。

因此,对 /virtualdir/fail/fail/fail/fail/fail.html 的请求会尝试在 /virtualdir/fail/fail/fail/app_themes 找到 app_themes。

我认为可能有一个涉及 Request.RawUrl 的解决方案,但我还没有找到它。

我敢肯定我不是第一个遇到这个问题的人,但我的 Google Fu 这次让我失望了。

编辑

我已经做了一些调查,在不同的情况下,错误的 URL 要么保留在 Request.URL 属性(所需)中,要么作为查询字符串的一部分附加到错误页面 URL,格式为(/virtualdir/errorpages/error404.aspx ?404;http://host/virtualdir/fail/fail/fail/fail/fail.html)。

在我的 IIS 6 本地机器上,ASPX 错误以前一种方式运行,在 IIS 7 测试机上,ASPX 页面使用后一种方式。