您的位置:首页 > 其它

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

2013-08-28 10:00 253 查看
企业级应用开发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://blog.csdn.net/zhaoyu008/article/details/7758957

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐