我已经在IIS6上使用ASP.NET MVC 4成功设置了一个API(我使用了Phil's tutorial)。在测试时,我们将其作为"默认网站"所以与其他任何东西都没有冲突。我现在被要求在一个现有网站的FOLDER中设置它(现有的网站是在ASP 1.0中......我无法修改这个...所以我会某种虚拟......某些东西?)。所以基本上,如果我们有https://www.ourcompany.com,他们希望通过https://www.ourcompany.com/api/提供API。
这甚至可能吗? Phil的教程讨论了如何设置虚拟应用程序,但我在IIS中没有这个选项(如果有的话,我对IIS知之甚少,知道这是否会让我感到满意以这种方式访问API)。我不想要任何我设置的内容弄乱当前的网站,并且教程中有几个步骤我会自由地承认我不完全理解。
如果您对为什么感到好奇,唯一的优势(除了"整洁")是可以使用相同的SSL证书。
答案 0 :(得分:2)
是的,在我的工作中肯定是可能的,我们有类似的设置,IIS6,一个.NET 3.5 Web,嵌套在.NET 4.0 Web下。
您只需将其设置为父网站下的虚拟目录,将其指向您的文件夹,并确保“执行权限”下拉列表的值为“仅限脚本”或更高版本,以及正确的.NET框架版本在ASP.NET选项卡上选择。
在您的子web.config文件中可能需要覆盖其他值,或者使用“Location”属性包装整个父Web配置。
忘记提及,如果默认情况下它不起作用,您可能需要为子网站添加手动脚本映射。 (这会将.NET 4.0脚本映射安装到特定Web),但不确定默认情况下是否需要这样做。请参阅:http://msdn.microsoft.com/en-us/library/k6h9cz8h.aspx
还有一件事 - 如果你正在使用REST(或者我认为MVC 4网站将使用的扩展名较少的URL映射) - 你需要添加一个“通配符”脚本映射,它基本上告诉IIS提供没有.NET 4.0框架扩展的请求 - See here但是,如果它们引用.NET 2.0文件夹,您显然希望引用相同的文件,但在.NET 4.0文件夹中:)
由于