簡體   English   中英

使用CORS通過IIS訪問WCF REST服務在本地工作,但不能從連接的設備工作

[英]Accessing WCF REST service through IIS using CORS works locally but not from connected device

我有一組WCF服務,我已啟用WebInvoke。 我希望訪問它們的一種方法是通過IIS托管的簡單網頁上的javascript。 為了使這一點工作,我必須啟用CORS,我使用本指南管理: http//blogs.microsoft.co.il/idof/2011/07/02/cross-origin-resource-sharing- CORS和- WCF /

但是,當我從另一台計算機通過本地網絡訪問網頁時仍然存在問題。

舉個例子:

網絡Comp1(10.0.0.1)和Comp2(10.0.0.2)上的兩台計算機。 IIS和WCF服務都由Comp1托管。

使用Firefox我可以使用以下命令從Comp1訪問網頁:http:// 10.0.0.1:12345

只要根據上面的鏈接啟用CORS,這就可以工作。 如果我禁用CORS,我會收到一條錯誤消息,提示CORS已被禁用。

如果我使用Comp2中的Firefox訪問10.0.0.1:12345,無論是否在WCF服務器中啟用了CORS代碼,我都會得到相同的CORS錯誤消息。 如果CORS被禁用,我在這里得到的錯誤消息與我在Comp1上獲得的錯誤消息相同。

有沒有人對可能出錯的地方有任何建議?

使用Visual Studio 2013,所有內容(js和html除外)都在C#中。請告訴我是否應該包含一些代碼以獲得更好的幫助。

確保在IIS中為CORS支持啟用了自定義標頭。 如果沒有將以下設置添加到web.config的根目錄

<?xml version="1.0" encoding="utf-8"?>
<configuration>
 <system.webServer>
   <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
     </customHeaders>
   </httpProtocol>
 </system.webServer>
</configuration>

有關在服務器端客戶端啟用cors的更多詳細信息。

PS - 您還可以簽出這個支持CORS啟用行為的新WCF休息行為擴展庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM