Visual Basic.NET - Error al guardar un archivo project en el servidor

   
Vista:

Error al guardar un archivo project en el servidor

Publicado por El_Mayk (1 intervención) el 07/10/2011 20:15:03
Que tal! espero alguien pueda ayudarme... estoy a punto de volverme loco

Estoy haciendo WebApp (VisualBasic.Net) con el IDE Visual Studio 2008.

Tengo una clase que abre MS Project (Por su puesto del lado del servidor), crea un proyecto, lo debe guardar en una carpeta del servidor y finalmente cierra el proyecto. Este archivo debe estar disponible al cliente para descargarlo.

El problema es el siguiente:

Todo funciona perfecto mientras ejecuto la aplicación con el emulador ese que tiene el Visual Studio. Pero cuando lo publico genera un error. Ya detecté en qué momento y es justo cuando quiero guardar el archivo. Eso me hace pensar que es cuestión de permisos. Sin embargo, ya habilité TOODOS los permisos y control total que me encontré y a todos los usuarios y NAADA (o al menos no encuentro otra opción que me resuelva)

El error que manda es "Referencia a objeto no establecida como instancia de un objeto"

Repito.. el error es en la WebApp publicada.

Incluso les mando la clase por si a alguien le sirve (De forma local y como app de escritorio funciona muy bien)

Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop

Public Class Graficador
Inherits MyClienteDA

Private _appProy As MSProject.Application
Private _DocProy As MSProject.Project
Private _datos As New DataTable
Private _sqlcommand As New SqlCommand()
Private _ruta As String
Private _nombre As String
Private _ProjectAbierto As Boolean
Private _estatus As String
Private _GeneradoCorrectamente As Boolean

ReadOnly Property GeneradoCorrectamente() As Boolean
Get
Return Me._GeneradoCorrectamente
End Get
End Property

ReadOnly Property estatus() As String
Get
Return Me._estatus
End Get
End Property

ReadOnly Property ruta() As String
Get
Return Me._ruta
End Get
End Property

ReadOnly Property nombre() As String
Get
Return Me._nombre
End Get
End Property

Public Sub New(ByRef IdEscenario As Integer, ByVal Anio As Integer, ByVal Mes As Integer, ByVal RutaDestino As String)

Me._ProjectAbierto = False
Try
Me.ObtieneDatosParaLibroAmarillo(IdEscenario, Anio, Mes)
Me.AbreProyect()
Me.CreaNuevoProyecto()
Me.GeneraProyecto()
''Me._appProy.Visible = True
Me._ruta = RutaDestino
Me._nombre = "Gantt_" + Anio.ToString + "-" + Mes.ToString + "_" + IdEscenario.ToString
If (File.Exists(Me._ruta + Me._nombre + ".mpp")) Then
File.Delete(Me._ruta + Me._nombre + ".mpp")
End If


_DocProy.SaveAs(Me._ruta + Me._nombre) 'JUSTO AKI MARCA EL ERROR


_ruta = _DocProy.Path
Me._estatus = "Proyecto generado correctamente"
Me._GeneradoCorrectamente = True
Catch ex As Exception
Me._estatus = ex.Message + "__ No creó nada " '+ "____" + Me._ruta + Me._nombre
Me._GeneradoCorrectamente = False
Finally
If (Me._ProjectAbierto) Then
Me.CierraProyect()
End If
End Try

End Sub

Private Sub AbreProyect()
Try
_appProy = New MSProject.Application
Me._ProjectAbierto = True
Catch ex As Exception
Me._ProjectAbierto = False
Me._estatus = ex.Message + "__ No abrió el project"
End Try
End Sub

Public Sub CierraProyect()
Try
_appProy.Quit()
Catch ex As Exception
Me._estatus = ex.Message + "__ No cerro el project"
End Try
End Sub

Private Sub CreaNuevoProyecto()
Try
_DocProy = _appProy.Projects.Add
Catch ex As Exception
Me._estatus = ex.Message + "__ No creó el archivo"
End Try
End Sub

Private Sub ObtieneDatos(ByVal IdEscenario As Integer, ByVal Anio As Integer, ByVal Mes As Integer)
Try
mcOpenConection()
_sqlcommand.Connection = _SqlCon
_sqlcommand.CommandType = CommandType.StoredProcedure
_sqlcommand.CommandText = "spProcedimientoGantt"
_sqlcommand.Parameters.Add("IdEscenario", SqlDbType.Int).Value = IdEscenario
_sqlcommand.Parameters.Add("Anio", SqlDbType.Int).Value = Anio
_sqlcommand.Parameters.Add("Mes", SqlDbType.Int).Value = Mes

Me._datos.Clear()
Dim sqlDA As New SqlDataAdapter(_sqlcommand)
sqlDA.Fill(Me._datos)
mcCloseConection()

Catch ex As Exception
Me._estatus = ex.Message + "__ No funcionó la consulta"
End Try
End Sub

Private Sub GeneraProyecto()
Try
With Me._appProy

For fila As Integer = 0 To Me._datos.Rows.Count - 1
Dim NombrePozo As String = Me._datos.Rows(fila).Item(4).ToString
Dim Ini As String = Me._datos.Rows(fila).Item(0).ToString
Dim Fin As String = Me._datos.Rows(fila).Item(1).ToString
.ActiveProject.Tasks.Add(NombrePozo)
.ActiveCell.Task.Start = "#" & Ini & "#"
.ActiveCell.Task.Finish = "#" & Fin & "#"

'.ActiveCell.Task.Name = Contenido
Next

End With
Catch ex As Exception
Me._estatus = ex.Message + "__ No metió datos"
End Try
End Sub

End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error al guardar un archivo project en el servidor

Publicado por Harold Villena (411 intervenciones) el 09/10/2011 10:21:15
Estas configurando el dcom en el servidor?. Debes darle permisos al usuario de internet en el ms project para que pueda ser usado desde una aplicación web. El funcionamiento es distinto cuando usas una app local o en el simulador o en el servidor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error al guardar un archivo project en el servidor

Publicado por Ricardo (1 intervención) el 06/11/2012 21:35:59
Estimado,
pudiste resolver este tema....yo tengo el mismo error.
si pudieses ayudarme te lo agradecería.

Ricardo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar