渡されたパラメータでUrlRewriteモジュールがインストールされている場合に例外をスローし、〜(チルダ)を使用して:Url.Contentは問題がある
- 私はのための私のIIS上で「」ウェブサイト
- を
UrlRewrite
modoleをインストールしています"B"ウェブサイト(MVC 5.0)では、 'UrlRewrite'モジュールを使用しませんが、
UrlHelper.Content("~/blobl/foo/bar")
を呼び出すと例外が発生します。 例外は、UrlRewriter
モジュールを使用し、同時に~
文字を関数パラメータに使用しているためです。 例外は次のとおりです。System.ArgumentException:値が予想される範囲内にない。 で(HttpContextBaseのHttpContext)System.Web.WebPages.UrlRewriterHelper.WasThisRequestRewrittenで System.Web.Hosting.IIS7WorkerRequest.GetServerVariableInternalでSystem.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(のInt32のerrorCode、のIntPtrのerrorInfo) (文字列名)でSystem.Web.WebPages.UrlUtil.GenerateClientUrlInternal(HttpContextBaseのHttpContext、文字列はcontentPath)System.Web.WebPages.UrlUtil.GenerateClientUrlでSystem.Web.WebPages.UrlUtil.GenerateClientUrlInternal(HttpContextBaseのHttpContext、文字列はcontentPath) (HttpContextBaseのHttpContext、文字列で contentPath)
l UrlRewrite
モジュールはすべて正常ですが、"A"ウェブサイトに問題が発生しました。また、このモジュールをウェブサイトでのみ無効にする方法はありませんでした。
注:IIS URL Rewrite module: Url.Content() does not resolve CSS/Image path properlyをチェックしましたが、ソースコードを変更したくありません。
おかげで私は、すべてのBウェブを知りませんサイトのURL。一部のURLは動的に生成されます。また、このモジュールを使用しないサイトに対してUrlRewriteルールを追加します。私はそれが良い考えではないと思う –