2012-05-25 76 views
0

我在筆記本電腦上本地開發了Silverlight應用程序。Silverlight應用程序未與服務器上的Web服務通信

一切工作正常,但是當我將它部署到服務器的Web服務運行良好,因爲它談到數據庫並獲得所需的結果。我的問題在於前端SL應用,在那裏它帶來了這個錯誤:

Debugging resource strings are unavailable 

    at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary() 
    at FrontEnd.WebService.UIDReturnCompletedEventArgs.get_Result() 
    at FrontEnd.Views.Users.client_UIDReturnCompleted(Object sender, UIDReturnCompletedEventArgs e) 
    at FrontEnd.WebService.Service1SoapClient.OnUIDReturnCompleted(Object state) 
Caused by: [Async_ExceptionOccurred] 
Arguments: 
Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version=4.1.10329.0&File=System.dll&Key=Async_ExceptionOccurred 

所以我去給出的鏈接,它說,就是是一個Async_ExceptionOccurred錯誤。 這是一個時間問題? UIDReturn是一種從數據庫中取回用戶ID的Web方法,這是在Silverlight頁面的頁面加載時啓動的,我認爲這個值可能不及時,因此這就是它崩潰的原因,然而這在本地工作並且在測試服務器上,所以這可能是一個IIS問題?

這裏就是Web服務是called-

void OnLoadCompleted(object sender, RoutedEventArgs e) 
    { 
     string fullUserName = WebContext.Current.User.DisplayName; 
     string userName = fullUserName.Substring(fullUserName.IndexOf('\\') + 1); 


     WebService.Service1SoapClient client = new WebService.Service1SoapClient(); 

      client.UIDReturnCompleted += new EventHandler<UIDReturnCompletedEventArgs>(client_UIDReturnCompleted); 
      client.UIDReturnAsync(userName); 

    } 

fullUserName是登錄用戶的電流,這也許值尚未加載,由於這一點,更是打破了連接。

+0

您可以發佈您的代碼/ XAML中?真正的網站在首次配置運行可在本地正常工作的Silverlight應用程序(安全設置等)時會出現多種原因 –

+0

感謝您輸入@HITech Magic,您需要哪些代碼?它在初始化Web服務時的調用? crossdomain.xml也可能導致衝突? – Ebikeneser

+0

如果其他文件存在,則僅忽略'crossdomain.xml'。首先提供調用的代碼(如果您正在從代碼調用服務)或包含數據上下文的XAML(如果您使用聲明性數據訪問)。 –

回答

0

這似乎是我以前已經回答到可能與這個帖子:Consume WCF library in Silverlight 4 application

+0

我在IIS中的Web服務目錄和服務器上的wwwroot中都有crossdomain.xml和clientaccesspolicy.xml文件。我可以通過轉到http:// localhost:10/crossdomain.xml和http:// localhost:10/clientaccesspolicy.xml來查看它們: – Ebikeneser

+0

@Jambo:您只需要更新的clientaccesspolicy.xml文件和Silverlight如果您正在託管自己的網站。如果其他文件存在*,則不會使用crossdomain.xml *,並且只有與使用該文件*的現有Flash網站兼容時纔會使用該文件。 –