Sto cercando di utilizzare Microsoft.VisualBasic.Logging.FileLogTraceListener nella mia app ASP.NET MVC 3 (vb.net). Funziona nel mio PC di sviluppo ma genera un errore quando viene eseguito da un server IIS 6. Ecco il web.config che uso:Utilizzo di 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>
L'errore che ho ottenuto è questa:
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()
Sembra FileLogTraceListener ha tentato di scrivere C:\Documents and Settings\Default User\Application Data\Microsoft Corporation\Internet Information Services\6.0.3790.3959
e non è riuscito.
In realtà la cartella Microsoft Corporation\Internet Information Services\6.0.3790.3959
non esiste all'interno di Default User\Application Data
. Ho provato a crearlo, assegnando l'accesso completo a tutti, ma ho ancora lo stesso errore.
È possibile utilizzare Microsoft.VisualBasic.Logging.FileLogTraceListener dall'app ASP.NET MVC?
Penso che sia all'interno di Microsoft.VisualBasic. Non è già incluso di default? Sto usando vb.net –
Lo è, ma penso che se lo contrassegni Copia Locale, ne farà una copia nella cartella "bin". Quale potrebbe risolvere i problemi relativi ai diritti. –
La posizione a cui si accede è abbastanza chiara qui e non indica affatto problemi di accesso all'assembly in questione. Non prenderei questo particolare consiglio. –