我在IIS6下遇到以下问题。我完全理解这个问题,我只是在寻找最好的解决方案。
我有以下内容:
网站'apiservices'仍在.NET Framework v2.0下运行。 网站“ourwebsite”使用MVC3在.NET Framework v4.0下运行。
.NET 4.0中引入的一个甜蜜的新功能,无扩展URL处理,由于我们的混合.NET框架版本,导致了一些问题。
如果我去:
现在,由于microsoft的更改引入了错误:因为ASP.NET v4.0应用程序没有在根级别定义其通配符映射,我们的应用程序内部的默认网站,PageMethods不正确路由和404。
疯狂的部分?如果我去:
应用此更改可解决我们的问题。
现在,我想知道,我该如何设置呢?这是web.config文件的作用 - 它可以像这样控制上层设置吗?或者它是我们的安装程序的自定义操作的工作?
编辑:看起来我需要使用WIX执行此操作。目前,我有以下代码在子级别设置通配符映射。我正在探索在根级别设置它而不覆盖'apiservices'通配符映射的方法:<iis:WebVirtualDir Id="CSWebVirtualDir" Alias="[TARGETCSWEBVDIR]" Directory="CABLESOLVEWEBDIR" WebSite="DefaultWebSite">
<iis:WebApplication Id="CSWebApplication" Name="[TARGETCSWEBVDIR]" AllowSessions="yes" ParentPaths="yes" ScriptTimeout="900" SessionTimeout="60" WebAppPool="CSWebAppPool" ClientDebugging="no" ServerDebugging="no" Isolation="medium">
<iis:WebApplicationExtension Executable="[FRAMEWORKROOT]v4.0.30319\aspnet_isapi.dll" CheckPath="no" Script="yes" Verbs="GET,HEAD,POST" />
</iis:WebApplication>
<iis:MimeMap Id="MIMEXAP" Type="application/x-silverlight-app" Extension=".xap" />
<iis:MimeMap Id="MIMEXAML" Type="application/xaml+xml" Extension=".xaml" />
</iis:WebVirtualDir>
<iis:WebVirtualDir Id="CSWebAPIVirtualDir" Alias="[TARGETCSWEBAPIVDIR]" Directory="CABLESOLVEWEBAPIDIR" DirProperties="CSWebAPIVirtualDirProperties" WebSite="DefaultWebSite">
<iis:WebApplication Id="CSWebAPIApplication" Name="[TARGETCSWEBAPIVDIR]" ParentPaths="yes" AllowSessions="yes" ScriptTimeout="900" SessionTimeout="60" WebAppPool="CSWebAPIAppPool" ClientDebugging="no" ServerDebugging="no" Isolation="medium">
<iis:WebApplicationExtension Executable="[FRAMEWORKROOT]v2.0.50727\aspnet_isapi.dll" CheckPath="no" Script="yes" Verbs="GET,HEAD,POST" />
</iis:WebApplication>
</iis:WebVirtualDir>
答案 0 :(得分:0)
我们的解决方案是将这些步骤添加到我们的安装指南中。我无法确定简单修改默认网站的方法。