这是我关于 SO 的第一篇文章。:) 我的目标是,在应用程序(这是一个现有的 VB.NET 应用程序)中,每当遇到对资源的请求时,例如:
/itemimages/image.png
它被重写为
http://example.com/itemimages/image.png
生产站点上有 10GB 的图像,因此对于本地开发,我们只想重写请求,这样我们就不必下载和随机播放大约 10GB 的产品图像。
我在 Application_BeginRequest() 中尝试了以下内容,请记住我正在简化它以说明我遇到的问题:
If (url1.IndexOf("itemimages") > 0) Then
Dim app As HttpApplication = CType(sender, HttpApplication)
app.Context.RewritePath("https://www.google.com/images/srpr/logo3w.png")
End If
我得到的错误是:
'https://www.google.com/images/srpr/logo3w.png' 不是有效的虚拟路径。
请注意 https://www.google.com 中的单个正斜杠,即使我指定了两个斜杠。另外,它明确提到它不是有效的虚拟路径,所以显然我不能在这里指定绝对 URL。
如何将“/itemimages/image.png”请求重写为“http://www.website.com/itemimages/image.png”?我在 C# 中发布这个也是因为无论如何我对这种语言更舒服,并且可能很容易在两者之间转换任何解决方案。