将ScriptModule添加到CRM 4.0中的ISV文件夹

我有一个ASP.NET Web应用程序,我试图在CRM 4.0中作为ISV的子文件夹运行。 我已经使用以下结构部署了我的应用程序:
ISV
   MyAppName
      *.aspx
      web.config
      bin
         *.dll
我没有在MyAppName上创建新的IIS应用程序。 我的aspx文件都带有
<%@ Assembly Name="MyAssembly" %>
标签。 正确加载页面,并按预期执行代码隐藏。 从JavaScript调用页面方法时出现问题。似乎没有加载ScriptModule,因为我对
MyPage.aspx/MethodName
的请求返回整个页面标记。 我的代码隐藏和JavaScript都是正确的,我通过在MyAppName创建一个应用程序并使用
/ISV/MyAppName
而不是
/Orgname/ISV/MyAppName
访问URL来验证这一点。 通过
/Orgname/ISV/MyAppName
访问时,如何使ScriptModule加载并按预期工作?     
已邀请:
正如这个问题中所提到的,我相信这种情况正在发生,因为CRM的web.config没有将System.Web.Handlers.ScriptModule指定为httpModule。您的自定义web.config可能会这样做,因此当您为其创建IIS应用程序时,httpModule将被加载并且您的页面方法可以正常工作。没有IIS应用程序,我相信大多数自定义web.config都会被忽略。我会尝试两件事: 1)删除您的自定义IIS Web应用程序。将System.Web.Handlers.ScriptModule添加到httpModules节点中的CRM的web.config。这看起来像这样:
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
(请注意,不支持修改CRM的web.config,如果更新汇总会覆盖CRM的web.config并吹走您的更改,那么可能会很痛苦。) 2)编写单独的Web服务来执行页面方法的工作。它必须存在于一个单独的自定义Web应用程序中。     

要回复问题请先登录注册