【发布时间】:2012-05-25 10:38:39
【问题描述】:
我在笔记本电脑上本地开发了一个 Silverlight 应用程序。
一切正常,但是当我将它部署到服务器时,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 服务的地方-
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 来自当前登录的用户,可能该值尚未加载,因此断开连接。
【问题讨论】:
-
您可以发布您的代码/Xaml 吗?首次配置为运行可在本地正常运行的 Silverlight 应用程序(安全设置等)时,真实网站会出现错误的原因有很多
-
感谢@HITech Magic 的输入,您需要哪个代码?它在初始化 Web 服务时的调用? crossdomain.xml 也会导致冲突吗?
-
crossdomain.xml如果存在其他文件,则会被忽略。首先提供调用代码(如果您从代码调用服务)或包含数据上下文的 XAML(如果您使用声明性数据访问)。 -
@Jambo 您是否仔细检查了 ServiceReferences.ClientConfig 是否已使用正确的服务 URL 进行了更新,或者您是否动态绑定了 Web 服务的端点?
标签: c# silverlight iis asynchronous