微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

企业级应用开发silverlight+WCF+orcle 11g开发

企业级应用开发silverlight+WCF+orcle 11g开发
1.环境准备
开发环境VS2010,silverlight4.0(下载安装SDK),windows 2008 R2版(配置添加IIS),oracle 11g
2.用ADO.NET实体框架访问数据库

下载:Oracle Data Provider for .NET驱动程序。
程序包:ODTwithODAC112021.zip
地址:http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

3.VS2010建立解决方案项目如图:
Client  客户端项目
Lib     第三方组件
Server  服务器端项目包括WCF

4.关键点

添加文件如图:


  1)ADO实体框架连接oracle 11g,生成实体模型。自动生成操作数据库代码(增,删,改,查)

  2)添加文件WcfDataServiceNodesInfo.svc封装成WCF服务
using System;
using System.Collections.Generic;
using System.Data.Services;
using System.Data.Services.Common;
using System.Linq;
using System.ServiceModel.Web;
using System.Web;

namespace SLAppTopMap.Web
{
    public class WcfDataServiceNodesInfo : DataService<NodeDbInfoEntities>
    {
        // 仅调用方法一次以初始化涉及服务范围的策略。
        public static void InitializeService(DataServiceConfiguration config)
        {
            // Todo: 设置规则以指明哪些实体集和服务操作是可见的、可更新的,等等。
            // 示例:
            // config.SetEntitySetAccessRule("MyEntityset",EntitySetRights.AllRead);
            config.SetEntitySetAccessRule("*",EntitySetRights.All);
            //config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        }
    }
}
   3)silverlight添加服务引用,自动生成客户端异步调用WCF代码。异步调用WCF。
关键代码
NodeDbInfoEntities server =null;
  void MainPage_Loaded(object sender,RoutedEventArgs e)
        {
            Uri url = new Uri("http://10.64.8.45:8006/TopMap/WcfDataServiceNodesInfo.svc/");
            Uri urlE = new Uri("http://10.64.8.45:8006/TopMap/WcfDataServiceNodesInfo.svc/NODEINFO");
            server = new NodeDbInfoEntities(url);
            server.BeginExecute<NODEINFO>(urlE,new AsyncCallback(executed),null);
  ...

        }
        void executed(IAsyncResult obj)
        {
            var tp = server.EndExecute<NODEINFO>(obj);
  ...
        }

5.部署将WCF部署到IIS中。
  1)WCF跨域问题。
  2)建立应用程序池选用.net框架经典模式。


  3)允许开启asp.net访问模式


  4)目录权限
  5)有时候会遇到开发时能访问数据库,部署到IIS后WCF连接不到数据库。这一点很重要,网上很少有说的。很多人为此而困惑。
     解决方法:找到Oracle Data Provider for .NET驱动程序安装目录。windows 2008 R2版是64位,注册对应的组件即可。
组件认目录:C:\app\Administrator\product\12.1.0\client_1\odp.net\managed\x64
运行:OraProvCfg.exe注册组件。

更多部署注意事项参见:

 Silverlight开发企业级应用之部署问题注意事项(18)

http://www.voidcn.com/article/p-gbayoygm-gu.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐