Iis 7 将.asmx文件添加到IIS7中DNN站点内的自定义子文件夹时出现问题

Iis 7 将.asmx文件添加到IIS7中DNN站点内的自定义子文件夹时出现问题,iis-7,dotnetnuke,Iis 7,Dotnetnuke,我正在尝试向DNN 5.6网站添加一些web服务(.asmx)功能 我已经添加了一些代码(我已经在/App_code中添加了这些代码)和一个.asmx文件,我想把它放在一个新的roor文件夹-/Services/MyService.asmx中 在卡西尼号的控制下,这一功能在本地运行良好 然而,当我部署到IIS7时,我得到一个404作为.asmx文件 以下是我做的一些实验: 如果我将该文件移动到/DesktopModules/MyService.asmx,那么一切都正常-我可以看到.asmx文件

我正在尝试向DNN 5.6网站添加一些web服务(.asmx)功能

我已经添加了一些代码(我已经在/App_code中添加了这些代码)和一个.asmx文件,我想把它放在一个新的roor文件夹-/Services/MyService.asmx中

在卡西尼号的控制下,这一功能在本地运行良好

然而,当我部署到IIS7时,我得到一个404作为.asmx文件

以下是我做的一些实验:

  • 如果我将该文件移动到/DesktopModules/MyService.asmx,那么一切都正常-我可以看到.asmx文件,并且可以毫无问题地调用服务函数

  • 如果我在IIS7中打开目录浏览,那么我可以浏览到/Services并查看.asmx文件-但是当我点击该.asmx文件时,我得到404

  • 如果我在/Services中添加一个gif文件,那么我可以毫无问题地看到它


有没有人对可能导致这种情况的原因有任何建议?我想知道是否是DNN中的友好名称代码以某种方式选择了这个.asmx文件?

是的,友好URL提供程序不允许在DNN 5.6中使用它。在5.6.2中,将有一个设置,允许您从友好的URL提供程序中排除URL,以避免此问题。

谢谢-这是最近的DNN版本中的更改吗?我们正在运行的版本号是5.6.1.238。另外,我不知道为什么这似乎对本地卡西尼号有效,但对服务器无效?友好的URL代码不是独立于web服务器吗?如果文件存在,Cassini可能会自动映射到该文件?我不确定那里会有什么不同。是的,此更改发生在DNN 5.5中。感谢提供更多信息。