[英]Silverlight and Windows Workflow Foundation
private void btnUpdate_Click(object sender, RoutedEventArgs e)
{
xxxxxxx.Workflow1_WebServiceSoapClient zer = new xxxxx.Workflow1_WebServiceSoapClient();
zer.demanderSubmitReportCompleted += new EventHandler<xxxxxxxxxxxxxxx.demanderSubmitReportCompletedEventArgs>(service2);
zer.demanderSubmitReportAsync("zzz", 20000);
}
public void service2(object sender, xxxxx.demanderSubmitReportCompletedEventArgs e)
{
string a = e.Result;
}
我正在嘗試調用Silverlight項目中作為Web服務發布的Windows Workflow Foundation 。 當我從控制台應用程序調用它時,它可以正常工作,因為可以添加Web引用,然后僅創建該Web服務的實例,然后調用所需的方法。 問題出在Silverlight項目中,因為我只能添加一個服務引用,所以我發現自己正在使用根本無法使用的SOAP東西,這是代碼錯誤:
這是代碼:我將其更改為英語的一點點。
Error in exécution Microsoft JScript: Unhandled Error in Silverlight Application exception happened in the operation, résult not valide. Consult InnerException for more information. in System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
in AEDSilverlightIntegrated.ServiceReference2.demanderSubmitReportCompletedEventArgs.get_Result()
in AEDSilverlightIntegrated.SilverEntryAedHeaderNew.mmm_demanderSubmitReportCompleted(Object sender, demanderSubmitReportCompletedEventArgs e)
in AEDSilverlightIntegrated.ServiceReference2.Workflow1_WebServiceSoapClient.OndemanderSubmitReportCompleted(Object state)
好吧,我找到了一個解決方案,並且想與大家分享。 解決方案是構建一個Web服務,該服務充當作為Web服務發布的Windows Workflow Foundation與Silverlight應用程序之間的橋梁。 並不是那么聰明,但這可以解決問題。
首先要做的事情。 確保該服務公開了跨域策略文件,以允許Silverlight進行跨域調用。
僅當服務位於與Silverlight宿主頁面不同的域上時才需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.