1

我收到以下異常消息,當我嘗試運行我新創建Silverlight應用程序:試圖做出URI「http://localhost:8732/Design_Time_Addresses/IsAProgrammer.Service/Service1/」的請求異常在全新的Silverlight項目

  • 發生錯誤。這可能是由於嘗試以跨域方式訪問服務而沒有適當的跨域策略或者不適合SOAP服務的策略。您可能需要聯繫服務的所有者以發佈跨域策略文件,並確保它允許發送與SOAP相關的HTTP頭。使用Web服務代理中的內部類型而不使用InternalsVisibleToAttribute屬性也可能導致此錯誤。有關更多詳細信息,請參閱內部例外。

這就是我所做的。我開始使用Silverlight應用程序。這創造了2個項目。我的實際silverlight應用程序和一個名爲MySolutionName.web(不知道除了託管我的silverlight頁面以外)。

然後我做了一個WCF項目,這樣我就可以爲我的Silverlight應用程序使用一些服務。我做了我的服務,然後添加了一個服務引用到silverlight項目。然後,我將綁定更改爲我的服務的basicHttpBinding。 (我隨後在Silverlight應用程序中刷新了我的服務資源參考。)

我在閱讀有關此錯誤的信息時,發現我需要一個clientaccesspolicy.xmlCrossDomain.xml文件來解決此問題。我找到了每個這些的通用副本,並將它們添加到我的MySolutionName.Web項目和我的WCF項目中。

其他任何想法都會很棒。

回答

1

我沒有做很多WCF的自己,但它聽起來就像你自己創建的2個web應用程序,一個在Silveright應用程序是主機和一個服務WCF。這是故意的嗎?

在猜測,我認爲你應該剛剛添加一個WCF服務項目到現有的主機Web應用程序。

0

當你用silverlight或wpf第一次玩wcf服務時,這些錯誤肯定會來:)。以下鏈接將幫助您將跨域策略放在正確的位置。

Where to place ClientAccessPolicy.xml for Local WCF Service?

+0

Ooops,請再次嘗試使用這些鏈接。 (順便說一句,沒有必要用Questioners的名字開始回答,並且由於沒有短文本限制,整個單詞都是首選)。 – AnthonyWJones 2010-07-16 07:32:15