我試圖在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>