Asp.net 使用webservices开发DotNetNuke模块

Asp.net 使用webservices开发DotNetNuke模块,asp.net,web-services,dotnetnuke,module-packaging,Asp.net,Web Services,Dotnetnuke,Module Packaging,我需要部署一个webservice作为我正在创建的DotNetNuke 4.x模块的一部分,但我不确定如何才能做到这一点,并且知道它将始终保持在同一位置。如何将asmx文件添加到模块项目中,以及在创建.DNN文件时如何指定Web服务的最终位置?我想使用“~/webservices/webservice.asmx”格式从模块中的ascx文件中引用webservice DotNetNuke是否有办法在.DNN文件中指定Web服务在站点上的最终位置?如果是这样,我还能用根锚定标记引用它们吗,如~/my

我需要部署一个webservice作为我正在创建的DotNetNuke 4.x模块的一部分,但我不确定如何才能做到这一点,并且知道它将始终保持在同一位置。如何将asmx文件添加到模块项目中,以及在创建.DNN文件时如何指定Web服务的最终位置?我想使用“~/webservices/webservice.asmx”格式从模块中的ascx文件中引用webservice


DotNetNuke是否有办法在.DNN文件中指定Web服务在站点上的最终位置?如果是这样,我还能用根锚定标记引用它们吗,如~/myservice.asmx?

您可以通过在
部分包含元素来包含asmx文件:

<files>
 <file>
  <name>YourWebService.asmx</name>
  <path></path>
 </file>
</files>
[/snip]

<folder>
  <name>Your Module</name>
  <friendlyname>Your Module</friendlyname>
  <foldername>YourModule</foldername>
  <modulename>YourModule</modulename>
  <description>A module for DotNetNuke websites.</description>
  <version>01.00.00</version>
  <resourcefile>Resources.zip</resourcefile>
  <businesscontrollerclass></businesscontrollerclass>
  <modules>
    <module>
至于在您的模块中引用它,我建议使用:

<%=ResolveUrl("~/DesktopModules/YourModule/Services.asmx")%>


因此,如果我不指定路径,Web服务是否会位于~/DesktopModules/MyModule/MyService.asmx?或者这会把它放在nuke站点的根目录下~/MyService.asmx?它将位于“~/DesktopModules/MyModule/MyService.asmx”,这可以被认为是模块文件的“顶级”。(除了程序集之外)另外,请参阅我的编辑,了解如何从标记获取文件的URL