我正在尝试从silverlight应用程序调用服务,但是我收到以下错误。
未捕获错误:Silverlight应用程序中的未处理错误操作期间发生异常,导致结果无效。检查InnerException以获取异常详细信息。
这在本地工作正常。我不知道它是否有任何意义,但在本地,如果我在浏览器上添加webservice的url,我将获得该服务的详细信息页面。另一方面,在生产服务器上,它会提示我下载它。
有人对此有所了解吗?
由于
public MainPage() {
InitializeComponent();
Loaded += new System.Windows.RoutedEventHandler(MainPage_Loaded);
}
private void MainPage_Loaded(object sender, System.Windows.RoutedEventArgs e) {
var newsFeedWcfClient = new NewsFeedWCFClient();
newsFeedWcfClient.GetNewsFeedItemsCompleted += newsFeedWcfClient_GetNewsFeedItemsCompleted;
newsFeedWcfClient.GetNewsFeedItemsAsync();
}
void newsFeedWcfClient_GetNewsFeedItemsCompleted(object sender, GetNewsFeedItemsCompletedEventArgs e) {
var source = (IList<NewsFeed>)e.Result;
IList<CustomNewsFeed> customNewsFeeds = new List<CustomNewsFeed>();
foreach (var item in source) {
customNewsFeeds.Add(new CustomNewsFeed() {
ProductID = item.Products.ProductID,
ProductTitle = item.Products.Title,
Status = item.Text,
Thumb = string.Format("{0}/{1}", item.Products.Product_Photos.Select(pp => pp.PhotoPath).FirstOrDefault(), item.Products.Product_Photos.Select(pp => pp.PhotoName).FirstOrDefault()),
UserID = item.User.Id,
UserName = item.User.Username
});
}
NewsFeedLB.ItemsSource = customNewsFeeds;
}
答案 0 :(得分:0)
在生产服务器上“提示您下载”这一事实表明生产Web服务器不知道如何处理.svc或.asmx文件。它将它视为普通文件(.txt,.pdf等)。
您是否已在生产中安装了所有必需的项目。例如,您需要安装正确的.NET运行时。此外,需要安装然后启用ASP.NET。
为了确切地确定发生了什么,我建议安装Fiddler并使用它来跟踪Silverlight应用程序调用服务器时发生的情况。我发现在解决Silverlight到Web服务通信问题时,这种方法非常有用。