●创建silverlight+wcf

创建WCF服务应用程序

 

 

创建silverlight应用程序

 

 

 

创建其他

 

 

WCF服务应用程序中添加WCF服务

 

引用类库

 

 

添加WCF服务

 

 

.cs文件中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using SilverlightWCF.DAL;

namespace SilverlightWCFServices
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IWorkerInfoService”。
    [ServiceContract]
    public interface IWorkerInfoService
    {
        [OperationContract]
        [ServiceKnownType(typeof(WorkerInfo))]
        List<WorkerInfo> getWorkerInfo();
    }
}

 

 

 

.svc文件中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using sil.DAL;
using sil.BLL;
using System.ServiceModel.Activation;

namespace sil.Services
{
    // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“WorkerService”。
    // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 WorkerService.svc 或 WorkerService.svc.cs,然后开始调试。
    //[ServiceBehavior(IncludeExceptionDetailInFaults = true)]
    //[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class WorkerService : IWorkerService
    {
        public List<WorkerInfo> getAllWorker()
        {
            return new BLL_Worker().getAllWorker();
        }
    }
}

 

 

 

添加跨域文件

 

 

文件内容:
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

 

 

silverlight应用程序中添加wcf服务引用

 

 

导入命名空间

using SilverlightWCFClient.WorkerInfoServiceReference;

 

 

代码示例:

        public void getWorkerInfo()
        {
            WorkerInfoServiceClient client = new WorkerInfoServiceClient();
            client.getWorkerInfoCompleted += client_getWorkerInfoCompleted;  //vs版本不同,这行代码会有所差异
            client.getWorkerInfoAsync();
        }

        void client_getWorkerInfoCompleted(object sender, getWorkerInfoCompletedEventArgs e)
        {
            if (e.Error != null)
                return;
            if (e.Result.Count > 0)
            {
                dgWorkerInfo.ItemsSource = e.Result.ToList();
            }
        }

 

转载于:https://www.cnblogs.com/phantom-k/p/5518038.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值