Novata en SharePoint

05/07/2005 - 17:01 por Annia | Informe spam
Hola, soy novata en SharePoint y en la empresa me han dado la tarea de
programar unos webparts y estoy empezando a documentarme porque hasta ahora
solo hacía aplicaciones en asp.net.

Mi duda básica es si es posible desde un webpart acceder mediante un objeto
a métodos y propiedades de una clase que no herede de webpart???? En concreto
tengo una clase desarrollada en C# que se encarga de gestionar conexiones a
bases de datos, ejecutar sentencias SQL, etc. y quisiera llamarla desde los
webparts pero no consigo que me funcione.

He creado un webpart sencillo que renderiza solo textos y me funciona bien.
Al añadir más código para crear un objeto de la clase manipulador de la base
de datos y acceder a sus métodos obtengo un error al arrastrarlo en la zona
correspondiente que no me da mucha ayuda y dice: "No se puede agregar el
elemento Web a la página de elementos Web. Si necesita más ayuda, póngase en
contacto con el administrador del sistema."

Me gustaria que alguien me puidera informar sobre ello y que me ayudase un
poco.

Muchas gracias por adelantado a todos.

Saludos, Annia

Preguntas similare

Leer las respuestas

#1 Gustavo
05/07/2005 - 17:45 | Informe spam
Hola Annia,
La seguridad de SharePoint esta regulada de una forma muy estrecha. Estas
teniendo un problema de seguridad de tu WebPart, pues con la seguridad
estandard no puedes realizar tareas fuera del contexto de SPS (estas
intentando conversar con una base de datos).
Mientras estas desarrollando, puedes bajar la seguridad en el web.config a
Medium o Full (busca en el web.config el renglon que dice "<trust
level="WSS_Minimal" originUrl="" />" y conviertelo en "<trust level="Full"
originUrl="" />"). Para produccion, puedes crear tus propios niveles de
seguridad que restituyan el asunto a un nivel respetable.
Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx


"Annia" wrote:

Hola, soy novata en SharePoint y en la empresa me han dado la tarea de
programar unos webparts y estoy empezando a documentarme porque hasta ahora
solo hacía aplicaciones en asp.net.

Mi duda básica es si es posible desde un webpart acceder mediante un objeto
a métodos y propiedades de una clase que no herede de webpart???? En concreto
tengo una clase desarrollada en C# que se encarga de gestionar conexiones a
bases de datos, ejecutar sentencias SQL, etc. y quisiera llamarla desde los
webparts pero no consigo que me funcione.

He creado un webpart sencillo que renderiza solo textos y me funciona bien.
Al añadir más código para crear un objeto de la clase manipulador de la base
de datos y acceder a sus métodos obtengo un error al arrastrarlo en la zona
correspondiente que no me da mucha ayuda y dice: "No se puede agregar el
elemento Web a la página de elementos Web. Si necesita más ayuda, póngase en
contacto con el administrador del sistema."

Me gustaria que alguien me puidera informar sobre ello y que me ayudase un
poco.

Muchas gracias por adelantado a todos.

Saludos, Annia
Respuesta Responder a este mensaje
#2 Annia
05/07/2005 - 17:54 | Informe spam
Gracias Gustavo lo probaré y ya te diré pero hay algo que me reulta curioso.

Antes tenia la clase dentro de una dll diferente a donde estoy desarrollando
el webpart y desde el webpart tenia la referencia al misma y ademas habia
registrado la dll en el gac. Ahora estoy haciendo otra prueba y consiste en
incluir la clase en el mismo proyecto donde desarrollo el webpart con lo cual
estará en la misma dll y elimine la referencia que tenía y obtengo otro
error, éste es producto de las propiedades y dice: "El formato de una de las
propiedades del elemento Web no es correcto. Windows SharePoint Services no
puede deserializarlo. Compruebe el formato de las propiedades y vuelva a
intentarlo"

Si tienes más comentarios por favor te los agradecería. Saludos, Annia.

"Gustavo" wrote:

Hola Annia,
La seguridad de SharePoint esta regulada de una forma muy estrecha. Estas
teniendo un problema de seguridad de tu WebPart, pues con la seguridad
estandard no puedes realizar tareas fuera del contexto de SPS (estas
intentando conversar con una base de datos).
Mientras estas desarrollando, puedes bajar la seguridad en el web.config a
Medium o Full (busca en el web.config el renglon que dice "<trust
level="WSS_Minimal" originUrl="" />" y conviertelo en "<trust level="Full"
originUrl="" />"). Para produccion, puedes crear tus propios niveles de
seguridad que restituyan el asunto a un nivel respetable.
Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx


"Annia" wrote:

> Hola, soy novata en SharePoint y en la empresa me han dado la tarea de
> programar unos webparts y estoy empezando a documentarme porque hasta ahora
> solo hacía aplicaciones en asp.net.
>
> Mi duda básica es si es posible desde un webpart acceder mediante un objeto
> a métodos y propiedades de una clase que no herede de webpart???? En concreto
> tengo una clase desarrollada en C# que se encarga de gestionar conexiones a
> bases de datos, ejecutar sentencias SQL, etc. y quisiera llamarla desde los
> webparts pero no consigo que me funcione.
>
> He creado un webpart sencillo que renderiza solo textos y me funciona bien.
> Al añadir más código para crear un objeto de la clase manipulador de la base
> de datos y acceder a sus métodos obtengo un error al arrastrarlo en la zona
> correspondiente que no me da mucha ayuda y dice: "No se puede agregar el
> elemento Web a la página de elementos Web. Si necesita más ayuda, póngase en
> contacto con el administrador del sistema."
>
> Me gustaria que alguien me puidera informar sobre ello y que me ayudase un
> poco.
>
> Muchas gracias por adelantado a todos.
>
> Saludos, Annia
Respuesta Responder a este mensaje
#3 Gustavo
05/07/2005 - 23:03 | Informe spam
Hola Annia,
En cuanto a la seguridad, hay un articulo clasico de Microsoft (el articulo
"CAS") que describe como esta organizada la cosa en SharePoint ("Microsoft
Windows SharePoint Services and Code Access Security"
http://msdn.microsoft.com/library/d...curity.asp).

El error que estas teniendo ahora no tiene que ver con seguridad, sino con
una propiedad de la WebPart en donde hay un error. WebParts tienen una manera
particular de definir sus propiedades en el panel de herramientas, que
incluye una definicion en XML que tiene que ser leida ("serializada"), y que
por una u otra razon no es aceptada por el compilador. Mira el siguiente
articulo, que va sobre el tema de propiedades:
http://www.gavd.net/servers/sharepo...p;itm&

Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx


"Annia" wrote:

Gracias Gustavo lo probaré y ya te diré pero hay algo que me reulta curioso.

Antes tenia la clase dentro de una dll diferente a donde estoy desarrollando
el webpart y desde el webpart tenia la referencia al misma y ademas habia
registrado la dll en el gac. Ahora estoy haciendo otra prueba y consiste en
incluir la clase en el mismo proyecto donde desarrollo el webpart con lo cual
estará en la misma dll y elimine la referencia que tenía y obtengo otro
error, éste es producto de las propiedades y dice: "El formato de una de las
propiedades del elemento Web no es correcto. Windows SharePoint Services no
puede deserializarlo. Compruebe el formato de las propiedades y vuelva a
intentarlo"

Si tienes más comentarios por favor te los agradecería. Saludos, Annia.

"Gustavo" wrote:

> Hola Annia,
> La seguridad de SharePoint esta regulada de una forma muy estrecha. Estas
> teniendo un problema de seguridad de tu WebPart, pues con la seguridad
> estandard no puedes realizar tareas fuera del contexto de SPS (estas
> intentando conversar con una base de datos).
> Mientras estas desarrollando, puedes bajar la seguridad en el web.config a
> Medium o Full (busca en el web.config el renglon que dice "<trust
> level="WSS_Minimal" originUrl="" />" y conviertelo en "<trust level="Full"
> originUrl="" />"). Para produccion, puedes crear tus propios niveles de
> seguridad que restituyan el asunto a un nivel respetable.
> Suerte,
> Gustavo
> http://www.gavd.net/servers/default.aspx
>
>
> "Annia" wrote:
>
> > Hola, soy novata en SharePoint y en la empresa me han dado la tarea de
> > programar unos webparts y estoy empezando a documentarme porque hasta ahora
> > solo hacía aplicaciones en asp.net.
> >
> > Mi duda básica es si es posible desde un webpart acceder mediante un objeto
> > a métodos y propiedades de una clase que no herede de webpart???? En concreto
> > tengo una clase desarrollada en C# que se encarga de gestionar conexiones a
> > bases de datos, ejecutar sentencias SQL, etc. y quisiera llamarla desde los
> > webparts pero no consigo que me funcione.
> >
> > He creado un webpart sencillo que renderiza solo textos y me funciona bien.
> > Al añadir más código para crear un objeto de la clase manipulador de la base
> > de datos y acceder a sus métodos obtengo un error al arrastrarlo en la zona
> > correspondiente que no me da mucha ayuda y dice: "No se puede agregar el
> > elemento Web a la página de elementos Web. Si necesita más ayuda, póngase en
> > contacto con el administrador del sistema."
> >
> > Me gustaria que alguien me puidera informar sobre ello y que me ayudase un
> > poco.
> >
> > Muchas gracias por adelantado a todos.
> >
> > Saludos, Annia
Respuesta Responder a este mensaje
#4 Annia
07/07/2005 - 12:39 | Informe spam
Hola Gustavo, muchas gracias por los links que me enviaste. Ya puedo acceder
desde el webpart a objetos y métodos que tengo desarrollados en clases que no
son webparts y lo resolví como me dijiste, cambiando el nivel de seguridad en
el web.config.

Ahora estoy teniendo otro problema que tal vez vaya de lo mismo pero no me
doy cuenta, te agradecería nuevamente tu ayuda.

Tengo un dataset tipado con una clase que lo maneja. Cuando desde el webpart
accedo a un método de una de esas clases externa que va a llenar el dataset
partiendo de un xml me devuelve el dataset vacío. Sin embargo, haciendo un
ejemplo sencillo y accediendo al mismo método de la clase obtengo resultados.
La otra prueba que hice fue desde el webpart definir un dataset y llamar al
método ReadXml con la ruta del fichero xml y obtengo el error sobre la
definición de propiedades ("El formato de una de las propiedades del elemento
Web no es correcto. Windows SharePoint Services no puede deserializarlo.
Compruebe el formato de las propiedades y vuelva a intentarlo.") pero
teóricamente lo que estoy haciendo es llamar a un método del DataSet y no a
una propiedad.

Pues nada, si me tienes nuevas sugerencias te lo agradeceré.

Saludos, Annia.
Respuesta Responder a este mensaje
#5 Gustavo
07/07/2005 - 14:05 | Informe spam
Hola Annia,
Es dificil poderte ayudar a control remoto, sin poder ver el codigo. Tal vez
lo mejor que puedes hacer es depurar el codigo de la WebPart mientras esta
ejecutando, para ver si esta llamando de forma correcta a tu dll, y, en
general, para saber que es lo que esta pasando por dentro. En principio, todo
lo que puedes hacer con un programa aspx, lo puedes hacer con una WebPart.
Depurando el codigo tambien puedes encontrar en cual renglon te ocurre el
error que mencionas. Me da pena no poderte ayudar mas, pero seguimos en
contacto por lo que pueda pasar.
Un saludo,
Gustavo
http://www.gavd.net/servers/default.aspx


"Annia" wrote:

Hola Gustavo, muchas gracias por los links que me enviaste. Ya puedo acceder
desde el webpart a objetos y métodos que tengo desarrollados en clases que no
son webparts y lo resolví como me dijiste, cambiando el nivel de seguridad en
el web.config.

Ahora estoy teniendo otro problema que tal vez vaya de lo mismo pero no me
doy cuenta, te agradecería nuevamente tu ayuda.

Tengo un dataset tipado con una clase que lo maneja. Cuando desde el webpart
accedo a un método de una de esas clases externa que va a llenar el dataset
partiendo de un xml me devuelve el dataset vacío. Sin embargo, haciendo un
ejemplo sencillo y accediendo al mismo método de la clase obtengo resultados.
La otra prueba que hice fue desde el webpart definir un dataset y llamar al
método ReadXml con la ruta del fichero xml y obtengo el error sobre la
definición de propiedades ("El formato de una de las propiedades del elemento
Web no es correcto. Windows SharePoint Services no puede deserializarlo.
Compruebe el formato de las propiedades y vuelva a intentarlo.") pero
teóricamente lo que estoy haciendo es llamar a un método del DataSet y no a
una propiedad.

Pues nada, si me tienes nuevas sugerencias te lo agradeceré.

Saludos, Annia.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida