两个带自定义URL的参数。重写在IIS中,不能找出语法

问题描述:

我已经设置这和它工作得很好 https://www.iis.net/learn/extensions/url-rewrite-module/using-custom-rewrite-providers-with-url-rewrite-module两个带自定义URL的参数。重写在IIS中,不能找出语法

但我想要做的是改变将触发关闭该存储过程,这样我可以有更多的参数。在他们的样本规则,你结束了这个

<rule name="DbProviderTest" stopProcessing="true"> 
<match url="(.*)" /> 
<conditions> 
    <add input="{DB:{R:1}}" pattern="(.+)" /> 
</conditions> 
<action type="Redirect" url="{C:1}" /> 

所以在页面上我设定新的变量,我叫ENVIRON。我希望做的是对测试和生产有不同的规则。所以我修改了RewriteTable以包含“环境”列。

我难过的是,我无法弄清楚如何将两个参数传递给存储过程。我认为这将是为这样的事情

<add input="{DB:{R:1},{ENVIRON}}" pattern="(.+)" /> 

我试过许多其他的语法简单,但我不断收到同样的错误500.x:

Procedure or function 'GetRewrittenUrl' expects parameter '@env', which was not supplied

所以我的问题很简单,创建这个时设置,如何将多个参数传递给存储过程?

作为每Microsoft Documentation“提供者连接到SQL Server数据库,并执行一个存储过程,需要一个NVARCHAR输入参数包含输入的URL字符串,并返回包含输出URL一排,一列的结果集NVARCHAR类型的字符串“。

不幸的是你要实现的目标是不可能的,因为这种存储过程只能接受一个参数(必须叫@input)。