2017-04-25 5 views
1

を把握することはできません、IISに書き換え、それだけで正常に動作します https://www.iis.net/learn/extensions/url-rewrite-module/using-custom-rewrite-providers-with-url-rewrite-moduleカスタムURLを持つ2つのパラメータ。私はこれを設定した構文に

しかし、私はより多くのパラメータを持つことができるように、オフに起動ストアドプロシージャを変更されて何をしたいのか。そのサンプルのルールでは、あなたはとてもページに、私は私がENVIRONと呼ばれる新たな変数を設定し、この

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

で終わります。私が望んだことは、テストと生産のための異なるルールを持っていたことでした。そこで、RewriteTableを変更して「環境」の列を追加しました。

私が困惑したことは、ストアドプロシージャに2つのパラメータを渡す方法を理解できないことです。私はそれは私が他の多数の構文を試してみました

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

このようなもののような単純なものだろうと思ったが、私は同じ500.xエラーを取得しておいてください。

これを作成するときに

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

だから私の質問は、簡単ですセットアップ、どのように1つ以上のパラメータをストアドプロシージャに渡すのですか?

答えて

0

Microsoft Documentation 1として:プロバイダがSQL Serverデータベースに接続し、入力されたURL文字列を含むNVARCHAR入力パラメータを受け取り、出力URLを含む1行1列の結果セットを返すストアドプロシージャを実行」 NVARCHAR型の文字列です。 "そのようなストアドプロシージャのみ( @input 呼び出さなければなりません)単一のパラメーターを受け入れることができますよう

は、残念ながら、あなたが達成しようとしているものはできません。

関連する問題