我试图在CRM的web目录下工作,例如在带有CRM的新服务器上的C:\ Program Files \ Microsoft Dynamics CRM \ CRMWeb \相同的设置在我们尝试升级的CRM 2013服务器上运行良好。当在CRM 2016网页目录下运行自定义asp.net应用程序时出现404错误
该路径是正确的,因为当我从我的自定义应用程序中删除任何DLL时,我会得到有关缺少DLL的正确ASP.net错误。但只要所有的DLL都正确,我的自定义Web应用程序就会出现404错误。
我试图在CRM的web目录下工作,例如在带有CRM的新服务器上的C:\ Program Files \ Microsoft Dynamics CRM \ CRMWeb \相同的设置在我们尝试升级的CRM 2013服务器上运行良好。当在CRM 2016网页目录下运行自定义asp.net应用程序时出现404错误
该路径是正确的,因为当我从我的自定义应用程序中删除任何DLL时,我会得到有关缺少DLL的正确ASP.net错误。但只要所有的DLL都正确,我的自定义Web应用程序就会出现404错误。
我知道这不是一个好消息,但把WWW应用在CRM webapp目录,不支持 - 你可以阅读here:
创建的Microsoft Dynamics内部的Internet信息服务(IIS)应用程序365网站不支持任何VDir,特别是在ISV文件夹内。 \ ISV文件夹不再受支持。
我可以想象CRM 2016中的一些httpmodule正在向您的网站发送请求。
只需添加到笔的评论您将需要将现有的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和您的网站之间进行跨站脚本。
这使您可以用I帧交互或从CRM
<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>