Asp.net mvc 4 将传入url转换为物理路径并再次转换

Asp.net mvc 4 将传入url转换为物理路径并再次转换,asp.net-mvc-4,Asp.net Mvc 4,我有一个MVC4项目,其中服务器需要根据来自客户端的传入url生成一个新url。计算使用物理路径运行。所以我需要 1. Given an incomming url (eg http://urlPath/filename.html) 2. Find the physical directory where this file exists (eg c:/physicalPath/) 3. Calc the new filename (eg c:/newPhysicalPath/newfil

我有一个MVC4项目,其中服务器需要根据来自客户端的传入url生成一个新url。计算使用物理路径运行。所以我需要

1. Given an incomming url (eg http://urlPath/filename.html)  
2. Find the physical directory where this file exists (eg c:/physicalPath/) 
3. Calc the new filename (eg c:/newPhysicalPath/newfileName.html)
4. Convert to new url (eg http://newUrlPath/newfilename.html)

我被所有用于转换的助手方法和类弄糊涂了。有人能用一种非脆弱的方式来转换第2阶段和第4阶段的两种方式吗?我是在模型中而不是在视图中执行此操作的,我是C新手,因此请保持简单。

您可以使用

string path = Server.MapPath("/")

你在用这个网址做什么?“你只是想重定向它们吗?”马特,我正在通过信号器将它们传回浏览器。它适用于具有定制内容的嵌入式系统,这些内容在页面上没有超链接,因此服务器必须计算新页面的URL。您说过您正在将它们传递回浏览器。这是要将它们发送到项目中的其他页面吗?如果是这样,初始url将把它们带到控制器中的操作。从那里,您可以执行return RedirectToAction操作,该控制器将为您生成url并将它们发送到不同的页面。如果它位于同一控制器中,则不需要包含控制器部件。我不知道这是不是helps@Matt好的,谢谢。我需要找到当前URL所在的目录,然后找到序列中的下一个文件,然后转换回URL。我可以使用Directory.EnumerateFiles获取物理目录中的文件列表。我不认为网页有一个等价物?因此,我需要转换为物理路径。