Pregunta

Tengo una aplicación web que consulta un índice de Lucene y funciona bien en un servidor W2K3 en mi red. Ahora obtuve mi código azul, así que quería probar el servicio cargando la aplicación. Para hacerlo, tuve que instalar Vista (lo hice en una máquina virtual) porque el SDK de Azure no se instalará en una caja de XP.

Creé mi servicio en la nube, agregué los archivos desde mi aplicación, pero cuando lo ejecuto (solo F5) obtengo una SecurityException, cuando llamo a Lucene para consultar el índice, diciendo:

  

La aplicación intentó realizar   una operación no permitida por el   politica de seguridad. Para conceder esto   solicitud del permiso requerido   por favor contacte a su sistema   administrador o cambiar el   nivel de confianza de la aplicación en el   archivo de configuración.

He estado buscando en Google y las soluciones que he encontrado se refieren a modificar el archivo machine.config, que es algo que no podré hacer "en la nube".

¿Alguien podría ayudar en esto?

¿Fue útil?

Solución

Ok, en caso de que alguien enfrente los mismos problemas, esta es la respuesta correcta que obtuve del foro de Azure:

  

Esto se debe a la política de confianza   para el CTP de Windows Azure. los   Las variables de entorno TEMP y TMP son   disponible y configurado adecuadamente.   Sin embargo, System.IO.Path.GetTempPath   y System.IO.GetTempFile no funcionan   ya que requieren sin restricciones   permisos ambientales. me gustaría   sugiero que contactes con el Lucene   desarrolladores para ver si pueden modificar   el código para que se ejecute correctamente en medio   entornos de confianza.

Gracias a Daniel C. Wang por la respuesta.

Otros consejos

También encontré una pregunta con respecto a mi mismo problema y cómo se solucionó.
Aquí el enlace: ??Lucene. Net falla en mi host porque llama a GetTempPath (). ¿En qué consiste el trabajo?

Puede cambiar la confianza en web.config, a menos que se haya deshabilitado en machine.config (que a menudo se encuentra en un alojamiento compartido). dentro de su puesto y ver qué pasa.

Si no se le permite hacer eso, vea si puede obtener su GACd de control hablando con su proveedor. Si eso no funciona, lamento decirlo, pero no tienes suerte. A veces puede encontrar soluciones alternativas que no requieren plena confianza para un método específico, pero si un dll de terceros lo requiere, no hay mucho que pueda hacer

No he hecho esto, pero ¿no es posible tener una versión de escritorio del entorno operativo en vivo? Esto parecería un buen comienzo para la resolución de problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top