ASP.NET Webアプリケーションから.cshtml拡張子を完全に無効にする方法を知っている人はいますか?ASP.NET WebアプリケーションでRazorのデフォルト.cshtmlハンドラを無効にする
本質的に私はRazorEngineホストに基づいて独自の実装を提供したいと思いますが、私がpage.cshtmlに直接アクセスしようとすると、それは既存のWebPagesカミソリホストの下で実行されているように見えますが、 mを無効にしようとしています。
注:それはMicrosoft.Data データベースが初期化されるように、そのが System.Web.WebPages.Razorコンテキスト 下 .cshtmlページを実行するように見えます。私も は、私は新しいASPを作成しました RazorEngine.dll
で任意のMVCやウェブページのDLLを が参照、ただのSystem.Web.dllとSystem.Web.Razorの ローカルコピーを持っていません.NETのWeb .NET 4.0アプリケーションと下図のように、すべてのbuildProvidersとハンドラをクリアしようとしている:
<system.web>
<httpModules>
<clear/>
</httpModules>
<compilation debug="true" targetFramework="4.0">
<buildProviders>
<clear/>
</buildProviders>
</compilation>
<httpHandlers>
<clear/>
<add path="*" type="MyHandler" verb="*"/>
</httpHandlers>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<clear/>
</modules>
<handlers>
<clear/>
<add path="*" name="MyHandler" type="MyHandler" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>
私はどのpage.cshtmlページを訪問したときにも、これで、それはまだ私のワイルドカードハンドラと試行をバイパスしますがページ自体を実行します。
基本的に私は.cshtmlページを自分で扱うことができるように、.cshtmlハンドラ/ buildProviders/preprocessingのすべての痕跡を削除したいと思います。
残念ながらSystem.Web.Mvc.ViewEnginesはMVCへの依存性を必要と - 私は本当にすべてのdepsと既存の動作を削除したい。 – mythz
ああ、そうです。あなたは['RazorCodeLanguages.Languages'プロパティ]からcshtmlを削除できますか?(http://msdn.microsoft.com/en-us/library/system.web.razor.razorcodelanguage.languages%28v=vs.99%29.aspx )? –
いいえ、まだ実行しようとしていますが、今この例外が発生します:http://pastebin.com/SPvLfn8G - WebPageHttpModuleのように見えますが、どうやって削除できますか? – mythz