我如何在MVC项目中包含经典的asp页面

时间:2015-11-13 22:10:31

标签: asp.net asp.net-mvc asp-classic

我们有一个经典的asp站点(不是asp.net),我们一直在逐步迁移到MVC。目前,MVC项目作为IIS中经典asp下的应用程序运行,具有自己的应用程序池。这种安排是有效的。

我被告知要从MVC项目中运行其余的经典asp页面,使MVC项目成为IIS中的主要项目。

我一直在寻找可行的解决方案,但还没有找到。 This question与我的非常相似,但没有答案。

我可以在MVC项目中创建一个文件夹(classicasp),将剩余的活动经典asp页面移动到此文件夹,然后从这里运行它们吗?网址就像

的http:/www.somewebsite.com/classicasp/somepage.asp

有可能吗?如果是,我将如何处理MVC路由以指向经典的asp页面?

或者我是否应该颠倒这种安排并将经典的asp网站作为IIS中的MVC下的应用程序运行

如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:1)

您可以将经典的asp页面放在mvc站点(或根文件夹中的子文件夹)的根文件夹中,所以是的,如果文件的位置沿着行,则url http://www.somewebsite.com/classicasp/somepage.asp应该可以工作C:\path-to\root\classicasp\somepage.asp

就路由而言,不要使用MVC,使用IIS重写模块

你可能最好使用模块生成规则而不是直接将它们写入web.config,但这是web.config中的示例规则。您可以使用网址mysite.com/article.asp?id=10

mysite.com/article/10找到文章
<system.webServer>
        <rewrite>
            <rules>                   
                <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
                    <match url="^article/([^/]+)/?$" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="article.asp?id={R:1}" />
                </rule>
             </rules>
       </rewrite>
</system.webServer>
相关问题