Domanda

Ho una scatola WinSRV2K3 con IIS6 che ospita una serie di siti, uno dei quali è un sito VB / .NET2.All'interno di questo ho creato una directory virtuale e ha puntatolo in una directory del sito C # /. Net3.5.Mi aspettavo che il sito mi aspettassi di consentire di visualizzare le pagine come un sito normale (c'è solo una ASMX nella directory virtuale) ma quando accedi alla pagina da un browser, ottengo:

Server Error in '/TestVbSite' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: Could not load file or assembly 'IMSControls' or one of its dependencies. The system cannot find the file specified. (D:\sites\TestVbSite\web.config line 211)

Source Error: 


Line 209:    </httpHandlers>
Line 210:    <httpModules>
Line 211:      <add name="UrlRewritingModule" type="IMS.Controls.HttpModules.UrlRewritingModule, IMSControls" />
Line 212:    </httpModules>
Line 213:  </system.web>

Source File: D:\sites\TestVbSite\web.config    Line: 211
.

Il problema che vedo lì, è che il web.config che lancia l'eccezione sembra essere il sito web del genitore .config, non il web.config nella directory virtuale.Ma non capisco perché.

Quando si accede alle pagine regolari all'interno del sito Web (non sotto la directory virtuale) che rendono ed eseguono come normali, indicando che la DLL IMSControls non è in grado di caricare dalla directory virtuale, ma di nuovo, non capisco perché questoessere coinvolto nel processo.

È stato utile?

Soluzione

Ok, beh, dopo alcune false inizia, pesante googling mi ha dato la cosa corretta da cercare: web.config ereditarietà.

Fondamentalmente, per interrompere una directory virtuale di ereditari gli attributi del Web.config (e quindi eventuali problemi) del sito Web.Config ha bisogno di avere il suo elemento <system.web> avvolto in un nuovo tag (a me):

<location path="." inheritInChildApplications="false">
  <system.web>
    ...
  </system.web>
</location>
.

Collegamenti utili:

http://forums.asp.net/t/1164283.aspx

http://dotnetslackers.com/security/re-55457_stopping_asp_net_web_config_inheritance.aspx

http://msdn.microsoft.com/en-us/library/ms178685.as178685.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top