c# - 从 Silverlight 调用 WCF 服务

标签 c# wcf silverlight web-services .net-4.0

我有一个简单的服务,它有一个名为 Sum 的操作契约(Contract)方法

[OperationContact]
int sum(int i, int q);

当我将 Web 服务集成到 Silverlight 应用程序中时,将此代码添加到主页中:

ServiceReference1.Service1Client obj = new ServiceReference1.Service1Client();

它不调用求和方法。此外它显示:

obj.sumAsync(int i, int q)

最佳答案

Silverlight 不允许创建 Web 服务的同步代理。它使用异步服务代理模型。 Silverlight 中的每个 OperationContract 都有两个属性:

obj.sumAsync(int i, int q, object state)
obj.sumAsyncCompleted; // Event

你应该试试这个:

private void CallMethod()
{    
    obj.sumAsync(2,2);
    obj.sumAsyncCompleted += (s,e) =>
        {
            if (e.Error == null)
            {
                   MessageBox.Show(e.Result.ToString());
            }
        };
}

关于c# - 从 Silverlight 调用 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10631719/

相关文章:

c# - 枚举值未在生成的 wsdl 文件中正确显示。为什么?

silverlight - Windows 手机 7 : Tombstoning with URIs?

silverlight - Windows Phone 中 TextBlock 内的超链接

javascript - 停止将 '' 编码为 Javascript 中的引号

c# - 有一组任务,一次只运行 X

.net - 当达到 WCF 连接的最大数量时会发生什么?

c# - 从 JavaScript 访问 Silverlight 3.0 应用程序

c# - 开关盒 c# 内的标签动画

c# - 如何找到引用特定 dll 的所有程序集?

C# 如何在运行时查找 WCF IIS 部署/虚拟目录以更改日志文件的名称?