Estoy tratando de usar Microsoft.VisualBasic.Logging.FileLogTraceListener en mi aplicación ASP.NET MVC 3 (vb.net). Funciona en mi PC dev, pero arroja un error cuando se ejecuta desde un servidor IIS 6. Aquí está el web.config que utilizo:Usando Microsoft.VisualBasic.Logging.FileLogTraceListener con ASP.NET MVC 3
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="requests" switchValue="All">
<listeners>
<remove name="default" />
<add name="txtfile" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="txtfile" type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"
location="custom"
customlocation="D:\PROJECTS\saidproject\App_Data"
logfilecreationschedule="weekly"
/>
</sharedListeners>
</system.diagnostics>
</configuration>
El error que tengo es la siguiente:
System.Configuration.ConfigurationErrorsException: Could not create Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL. ---> System.UnauthorizedAccessException: Access to the path 'C:\Documents and Settings\Default User\Application Data\Microsoft Corporation\Internet Information Services\6.0.3790.3959' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj)
at System.IO.Directory.CreateDirectory(String path)
at System.Windows.Forms.Application.GetDataPath(String basePath)
at System.Windows.Forms.Application.get_UserAppDataPath()
at Microsoft.VisualBasic.Logging.FileLogTraceListener..ctor(String name)
at Microsoft.VisualBasic.Logging.FileLogTraceListener..ctor()
Parece que FileLogTraceListener intentó escribir en C:\Documents and Settings\Default User\Application Data\Microsoft Corporation\Internet Information Services\6.0.3790.3959
y fracasó.
En realidad, la carpeta Microsoft Corporation\Internet Information Services\6.0.3790.3959
no existe dentro de Default User\Application Data
. Traté de crearlo, asignando acceso completo a todos, pero todavía tengo el mismo error.
¿Es posible utilizar Microsoft.VisualBasic.Logging.FileLogTraceListener desde la aplicación ASP.NET MVC?
Creo que está dentro de Microsoft.VisualBasic. ¿No está ya incluido por defecto? Estoy usando vb.net –
Es, pero creo que si marcas Copy Local, hará una copia en la carpeta "bin". Que podría resolver problemas relacionados con los derechos. –
La ubicación a la que se accede es bastante clara aquí, y no indica problemas para acceder al ensamblado en cuestión. No tomaría este consejo en particular. –