Texto a voz en ASP.NET: acceso denegado ... ¿qué hacer?

En mi sitio web personal, me gustaría hacerlo "pronunciar" algo

Resolví el problema del "concepto", como enaquí, y en mi escritorio funciona sin problemas cuando se lanza desde un desarrollador web visual. Crea un archivo y luego un reproductor incrustado en la página lo reproducirá. Perfecto.

Entonces, lo cargué en el servidor ... me sale este error 500:

Error del servidor en la aplicación '/ sapi'. Acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED)) Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.UnauthorizedAccessException: Acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED))

ASP.NET no está autorizado para acceder al recurso solicitado. Considere conceder derechos de acceso al recurso a la identidad de solicitud ASP.NET. ASP.NET tiene una identidad de proceso base (generalmente, {MACHINE} \ ASPNET en IIS 5 o Network Service en IIS 6) que se usa si la aplicación no se hace pasar por la suplantación. Si la aplicación se hace pasar por la identidad, la identidad será el usuario anónimo (generalmente IUSR_MACHINENAME) o el usuario autenticado de la solicitud.

(...)

Error de fuente:

Verlo abajo

Archivo de origen: c: \ mypath \ sapi \ myfile.aspx.cs Línea: 21

Traza de la pila:

[UnauthorizedAccessException: acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED))]
SpeechLib.SpVoiceClass.Speak (String Text, SpeechVoiceSpeakFlags Flags) +0 prova.Button1_Click (ObjectArender, EventArgs e) en c: \ mypath \ sapi \ prova.aspx.cs: 21 System.Web.UI.WebControputzaputation (EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent (NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

Información de la versión: Microsoft .NET Framework Versión: 2.0.50727.3053; Versión de ASP.NET: 2.0.50727.3053

Esta es la fuente

Error de fuente:

Línea 19:myfile.Open(@"C:\mypath\sapi\gen\hi.wav",SpeechStreamFileMode.SSFMCreateForWrite,false);
Línea 20:voice.AudioOutputStream = myfile;
Línea 21: voice.Speak("Hi",SpeechVoiceSpeakFlags.SVSFDefault);

Me sale un error en la línea 21, Voice.speak

Eso probablemente significa que el usuario trabajador de aspnet no tiene algún permiso correcto

La carpeta de generación tiene todos los permisos correctos: se crea un archivo vacío.

Entonces, ¿tengo que dar permiso de ejecución a algún dll del sistema?

¿Sabes cuál dll? Esno bin\Interop.SpeechLib.dll, en este el usuario aspnet tiene control total

Ps: tengo control total sobre el servidor (Windows) (quiero decir, el acceso por RDC, no es un alojamiento compartido)

Respuestas a la pregunta(2)

Su respuesta a la pregunta