Web アプリケーションに ADO.NET Entity-Framework *.edmx ファイルがあります。
(アプリケーションの実行中に) ブラウザーで edmx ファイルを参照すると、*.cs または vb ファイルを参照するときのようにエラー ページが表示されず、edmx が開き、すべてのモデル スキームが表示されます。ユーザー!!!
どうすればそれを回避できますか。
Web アプリケーションに ADO.NET Entity-Framework *.edmx ファイルがあります。
(アプリケーションの実行中に) ブラウザーで edmx ファイルを参照すると、*.cs または vb ファイルを参照するときのようにエラー ページが表示されず、edmx が開き、すべてのモデル スキームが表示されます。ユーザー!!!
どうすればそれを回避できますか。
拡張子を の ASP.NET のSystem.Web.HttpForbiddenHandler
クラスにマップする必要がありますweb.config
。IIS6 を使用している場合は、それを行う前に、拡張機能を ASP.NET ISAPI ハンドラーにマップしておく必要があります。
IIS7 統合モード:
<system.webServer>
<handlers>
<add name="MyForbiddenExtensionHandler"
path="*.edmx"
verb="*"
type="System.Web.HttpForbiddenHandler"
preCondition="integratedMode" />
</handlers>
</system.webServer>
IIS7 クラシック モード。何かのようなもの:
<system.web>
<httpHandlers>
<add path="*.edmx"
verb="*"
type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="MyExtensionISAPI"
path="*.edmx"
verb="*"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
</handlers>
</system.webServer>
IIS6 (IIS6 構成でハンドラーをマッピングした後aspnet_isapi.dll
):
<system.web>
<httpHandlers>
<add path="*.edmx"
verb="*"
type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
</system.web>
これには 2 つの方法があります。最初に web.config で、または 2 番目に IIS で
<system.web>
<httpHandlers>
<add verb="*" path="*.edmx" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
</system.web>
これは、Web 構成と IIS でそれを行う方法を詳しく説明している Microsoft サポート ページへのリンクです。