我正在尝试使用CRM 2016的新服务器上的CRM网络目录(即C:\ Program Files \ Microsoft Dynamics CRM \ CRMWeb \)下运行自定义Web应用程序。相同的设置工作正常CRM 2013服务器,我们正在尝试升级。
路径是正确的,因为当我从我的自定义应用程序中删除任何DLL时,我得到关于丢失的DLL的正确的ASP.net错误。但是只要所有DLL都正确,我的自定义Web应用程序就会出现404错误。
答案 0 :(得分:2)
我知道这不是一个好消息,但不支持将WWW应用程序放在CRM Webapp目录中 - 您可以阅读它here:
不支持在Microsoft Dynamics 365网站内为任何VDir创建Internet信息服务(IIS)应用程序,特别是在ISV文件夹中。不再支持\ ISV文件夹。
我可以想象CRM 2016中的一些httpmodule正在捕获对您网站的请求。
答案 1 :(得分:0)
添加到笔的评论您需要将现有的Web应用程序重写为独立的Web应用程序,并使用CRM SDK访问crm。
https://msdn.microsoft.com/en-us/library/gg334357(v=crm.6).aspx
我确实已经将其中的一部分迁回CRM4到CRM2011,通常这是一种非常轻松的体验。
要记住的基本事项是:
将网站配置为使用Windows身份验证(以便我们识别webextension的用户)
按域名查找systemuser以获取其系统用户ID,然后在必要时模拟Web应用程序。 (https://msdn.microsoft.com/en-us/library/gg309629.aspx)
在CRM和您的网站之间允许跨站点脚本 这允许您使用来自CRM的JavaScript与Web应用程序托管的iframe或休息服务进行交互
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://crmurl" />
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Headers" value="Origin, Authorization" />
<add name="Access-Control-Allow-Methods" value="POST, GET, OPTIONS" />
<add name="Access-Control-Expose-Headers" value="WWW-Authenticate" />
</customHeaders>
</httpProtocol>
&#13;