Acceso a ModuleID y Portalid en el archivo webservice Asmx en Dotnetnuke -- # campo con asp.net campo con ajax campo con asmx campo con dotnetnuke camp Relacionados El problema

Access to ModuleID and PortalID in asmx webservice file in DotNetNuke


2
vote

problema

Español

Tengo un archivo webservice ASMX en mi módulo Dotnetnuke. Cómo puedo acceder a Portalid and ModuleID en este archivo ASMX. Cuando intento este código que funciona bien en el código, detrás del archivo .ascx.cs, devuelve Portáld = 0, ModuleID = 1

   private Components.Setting _ModuleSettings;  _ModuleSettings = new Components.Setting(PortalId, ModuleId);   
Original en ingles

I have an asmx webservice file in my DotNetNuke module.How can I access to PortalID and ModuleID in this asmx file . when I try this code that works fine in code behinde .ascx.cs file it return portalID=0 , ModuleID=1

 private Components.Setting _ModuleSettings;  _ModuleSettings = new Components.Setting(PortalId, ModuleId); 
              

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

La configuración del módulo requiere que esté dentro del contexto de un módulo. Un servicio .asmx no va a tener ese nivel de contexto.

 

Module settings require that you be within the context of a module. An .asmx service is not going to have that level of context.

 
 
4
 
vote

editar El siguiente sigue siendo cierto, sin embargo, la liberación de DNN 6.2 incluyó el marco de servicios que es específicamente con el fin de construir servicios web en DNN. El marco de servicios es una solución mucho mejor que rodar su propio servicio basado en PX.

/ editar

Dado que está ejecutando una llamada de servicio web y no es un módulo DNN que no se le proporciona el contexto. Sin embargo, puedes volver a crearlo tú mismo. Para obtener la configuración del portal actual

  var domainName = Globals.GetDomainName(request); var alias = PortalAliasController.GetPortalAliasInfo(domainName);  return new PortalSettings(-1, alias);   

Dado que no están realmente en el contexto de una página, la activetaB retrocederá a un valor predeterminado (a menos que pueda reemplazar -1 con el TABID activo).

Para obtener el contexto del módulo, deberá pasar en el ModuleID y TABID a su servicio y luego llamar a:

  var module = new ModuleController().GetModule(moduleId, tabId)   
 

EDIT The below is still true, however the release of DNN 6.2 included the Services Framework which is specifically for the purpose of building web services in DNN. Services Framework is a much better solution than rolling your own .asmx based service.

/EDIT

Since you are executing a web service call and not a DNN module that context is not provided for you. However you can re-create it yourself. To get the current portal settings

var domainName = Globals.GetDomainName(request); var alias = PortalAliasController.GetPortalAliasInfo(domainName);  return new PortalSettings(-1, alias); 

Since your are not truly in the context of a page, the ActiveTab will fallback to a default (unless you can replace -1 with the active tabId).

To get the module context you will need to pass in the moduleId and tabId to your service and then call:

var module = new ModuleController().GetModule(moduleId, tabId) 
 
 
     
     

Relacionados problema

0  Creación de encabezados de submenú en DNN  ( Creating sub menu headers in dnn ) 
Estoy creando una piel de Dotnetnuke (DNN) cliente, y una de las cosas que me gustaría hacer es tener grupos de submenú. Por ejemplo: vida __ viviend...

8  Cómo manejar la seguridad / autenticación en una API web basada en DNN  ( How to handle security authentication on a dnn based web api ) 
Estoy construyendo una API de descanso para un sitio web de DotNetnuke 6, haciendo uso del marco de servicios con sede en MVC de DNN. Sin embargo, no tengo ni...

0  Páginas Master en Dotnetnuke  ( Master pages in dotnetnuke ) 
Quiero crear una página maestra para mi aplicación web Dotnetnuke, ¿puedes darme líneas de guía para crear una página maestra y cómo registrarse en Dotnetnuke...

2  ¿Cómo puede crear una solicitud web en el marco de Dotnetnuke?  ( How can create a webapplication in dotnetnuke framework ) 
Soy muy nuevo en Dotnetnuke. Y quiero saber. Pasos para crear y construir una solicitud web en Dotnetnuke. ¿Cómo podemos agregar módulo usando Dotnetnuke? ...

0  Envolver el menú Dotnetnuke en diferentes divs y especificar CSSCLASS?  ( Wrap dotnetnuke menu in different divs and specify cssclass ) 
Quiero agrupar los elementos del menú en el menú DNN en sus propias divecciones, para que pueda tener relleno inferior en cada celda en la jerarquía. así, p...

34  ¿Cuál es la diferencia entre el marco y la arquitectura? [cerrado]  ( What is the difference between framework and architecture ) 
cerrado . Esta pregunta debe ser más enfocado . Actualmente no está aceptando respuestas. Cerrado h...

3  ¿Cómo puedo reenviar una URL a la página correspondiente?  ( How can i forward a url to the appropriate page ) 
¿Cómo puedo reenviar una URL como: http://www.mysite.com/join a la página correspondiente: http://www.mysite.com/joinoptions/memberregistration.aspx ...

0  El módulo URL amigable con DNN no puede reescribir la URL correctamente  ( Dnn friendly url module is not able to rewrite the url correctly ) 
En DNN 8, tengo 3 (tres) portales diferentes, todos con la misma IA (páginas y amplificadores; contenido). Ejemplo: portal1.site.com, portal2.site.com, portal...

0  Página de búsqueda, publicación y resultados simple en Dotnetnuke V6 y Xmod Pro  ( Simple search post and results page in dotnetnuke v6 and xmod pro ) 
Estoy luchando con XMOD PRO 4.x. Todo lo que necesito hacer es crear un formulario simple para pasar 3 campos de texto como parámetros a una segunda página co...

1  ¿Cómo llamo a un archivo XML usando extensión XML con el módulo de URL amigable Ifininiy en DNN?  ( How do i call a xml file using xml extension with ifinity friendly url module in ) 
Tengo un problema al tratar de hacer trabajando una reescritura de URL. Tengo un sitio web de DNN y para redirecciones de URL Estamos usando el módulo URL de ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos