我使用.NET 4.6.2 WebForms模板在VS2015中创建了一个新的Web应用程序。我添加了Intelligencia.UrlRewriter NuGet包(找到here)。然后我转到我的web.config并在重写器部分添加了一个RegEx if语句:
<if url="^(.+)/tenant/(.[^/]+)(.+)$">
<set property="TenantName" value="$2" />
<rewrite to="$1$3"/>
</if>
逻辑应解析URL并将第一部分设置为$ 1值(即http://localhost/),然后将$ 2值设置为提供的租户名称(即MyTenant),然后设置TenantName的上下文值到2美元的价值。最后,它应该将$ 3值设置为URL的最后一部分(即TenantLoader.aspx)。我无法验证这部分是否正常工作,我只知道if语句中的最后一个操作失败了。重写方法应该将$ 1和$ 3值连接在一起(即http://localhost/TenantLoader.aspx),但事实并非如此。相反,我从IIS Express收到500.22错误,并显示以下错误消息:
检测到的ASP.NET设置不适用于Integrated 管理流水线模式。
使用最可能的原因:
此应用程序定义system.web / httpModules中的配置 部分。
任何?