10

Web アプリケーションに ADO.NET Entity-Framework *.edmx ファイルがあります。

(アプリケーションの実行中に) ブラウザーで edmx ファイルを参照すると、*.cs または vb ファイルを参照するときのようにエラー ページが表示されず、edmx が開き、すべてのモデル スキームが表示されます。ユーザー!!!

どうすればそれを回避できますか。

4

2 に答える 2

11

拡張子を の 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>
于 2009-06-27T21:49:22.080 に答える
9

これには 2 つの方法があります。最初に web.config で、または 2 番目に IIS で

<system.web>
    <httpHandlers>
        <add verb="*" path="*.edmx" type="System.Web.HttpForbiddenHandler" />
    </httpHandlers>
</system.web>

これは、Web 構成と IIS でそれを行う方法を詳しく説明している Microsoft サポート ページへのリンクです。

http://support.microsoft.com/kb/815152

于 2009-06-27T21:53:48.733 に答える