+ -
当前位置:首页 → 问答吧 → WCF 架設在IIS7 與 IIS6的問題

WCF 架設在IIS7 與 IIS6的問題

时间:2011-04-26

来源:互联网

Hi , 各位好

最近發生了一個非常詭異的問題,

我的Silverlight 應用程式會透過WCF去存取Facebook得API 

////Interface的定義
  [OperationContract]
  [WebGet(ResponseFormat = WebMessageFormat.Json)]
  Stream FetchLike(string FanID);

////Service
public Stream FetchLike(string FanID)
  {
  try
  {
  // Add your operation implementation here
  WebClient getlike = new WebClient();
  return getlike.OpenRead(new Uri("https://graph.facebook.com/" + FanID));
  }
  catch (WebException ex)
  {
   
  using (Stream responseStream = ((HttpWebResponse)ex.Response).GetResponseStream())
  {
  using (StreamReader streamReader = new StreamReader(responseStream)) 
  {
  return responseStream;
  }
  } 
  }
  }

我的應用程式執行沒有問題,同時我把此應用程式部署到我家裡的電腦上(使用IIS 6)

我都可以從外部正常無誤的存取我的服務,我有在根目錄放置clientaccesspolicy.xml的文件

所以我可以確定不會是因為遠端無法找到的問題

當Application架在我家裡能夠正常無誤的執行,我就要準備放到公司的Server上

問題就來了,公司的Server是Windows 2008 + IIS 7

當我架上去以後發生了非常奇怪的問題,我所有內部的服務例如:存取資料庫的資料 都可以正常的執行

只有存取外部的服務如Facebook Api時會沒有回應,也無法對已經部署到IIS 7 上面的服務進行偵錯

可是如果我在公司的Server上使用VS 2010在Localhost底下執行我的應用程式,卻又可以存取Facebook API的資料

並且會正常的傳回JSON型態的資料,我就不懂了,架設在家裡執行OK,在公司Server得Localhost執行也OK

唯讀架設到公司Server的IIS不行,

我在想會是因為公司的網管人員有把PORT鎖住嗎???? 

Facebook graph api 透過Ports 443 

還是說IIS 7的設定有什麼不一樣呢???

希望各位前輩能夠教導我,我是台灣的朋友!!!!

感謝各位的協助!!!!

作者: tatsuo769   发布时间: 2011-04-26

你公司的网络有屏蔽端口443
可以联系下对应网络人员,确认是否有屏蔽443

Asp.Net可以参考FortuneBase
参考地址www.cnblogs.com/mail-ricklee

作者: mail_ricklee   发布时间: 2011-06-10