J'ai un rôle Web ASP.NET MVC s'exécutant sur Windows Azure et j'ai correctement configuré ELMAH dans le fichier web.config. J'ai aussi mon global.asax ignore * routes .axd. Au niveau local, je suis capable de charger /elmah.axd, mais lorsque je déploie sur Azure, je reçois un 404 sur cette page. Est-ce que quelqu'un a obtenu qu'ELMAH travaille sur Azure?
Réponses
Trop de publicités?Azure est basé sur Windows Server 2008 et IIS7. Cela signifie que vous avez besoin pour remplir le système.serveur web.fichier de configuration.
L'exemple de fichier inclus avec elmah code source contient les détails que vous avez besoin de mettre en.
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory" />
<remove name="ScriptHandlerFactoryAppServices" />
<remove name="ScriptResource" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</handlers>
</system.webServer>
Il y a 2 elmah lignes dans le bloc ci-dessus de xml que vous aurez besoin de comprendre, et la section générale doit contenir la plupart, si pas tous les éléments de toute façon.
EDIT: il N'est plus nécessaire car il est maintenant activé par défaut):
Pour Elmah au travail, vous aurez également besoin de modifier la ligne suivante dans votre ServiceDefinition.csdef fichier:
<WebRole name="WebRole" enableNativeCodeExecution="true">
Je pense qu’en plus (à ce que suggère @ mat1t ici ), vous devrez peut-être définir l’accès à distance à 1:
<elmah>
<security allowRemoteAccess="0" />
..............
..............
</elmah>