关于APIcloud对应C#的 wcf框架作为后台,实现多库功能
首先,我是使用ajax原来的请求方式,并没有使用apicloud中封装的请求方式。
前端代码:
function makeRequest() {
//alert("inside makeRequest()");
var settings = {
type: "GET",
url: "http://192.168.0.105/Service1.svc/test",
dataType: "JSON",
error: function (XHR, textStatus, errorThrown) {
//alert("XHR=" + XHR + "\ntextStatus=" + textStatus + "\nerrorThrown=" + errorThrown);
},
success: function (data, textStatus) {
$("body").append(data);
}
,
headers: {
"token": "TextServer"
}
};
$.ajax(settings);
}
后台接收方式呢,我这使用了EF框架,所以我会在实例化上下文时接收请求头数据,然后去中心库进行一个查询,拿到链接地址,然后将当前实例的地址更改,最后返回这个更改后的上下文实例,这样数据就查到了对应公司所对应的数据库中的数据。
wcf-1
ISGuanWeiEntities contex = ConnectionStringDB.getISGuanWeiEntities();//改为该对象
wcf-2
class ConnectionStringDB
{
public static ISGuanWeiEntities getISGuanWeiEntities()
{
ISGuanWeiEntities context = new ISGuanWeiEntities(); //var s = System.Web.HttpContext.Current.Request.Headers;
System.ServiceModel.Web.IncomingWebRequestContext request = System.ServiceModel.Web.WebOperationContext.Current.IncomingRequest;
WebHeaderCollection headers = request.Headers;
//获取客户端请求的值(公司名)
string whereName = headers["token"];//token是我在前端请求头中设置的标识
//连接多库指挥中心数据库查找该公司的链接字符串
context.Database.Connection.ConnectionString = "中心数据库的链接地址;"; //--略过--通过查询中心库拿到对应的链接地址
//将链接字符串改为新的链接字符串
context.Database.Connection.ConnectionString = “新链接地址” //最终返回该对象
return context; }
}
--还有个要注意,我这个自定义请求头'token'在IIS请求标头里面添加过的,我自己添加的,在IIS添加请求标头操作如下:
第一步

第二步

参考:http://www.cnblogs.com/babietongtianta/p/6488985.html
关于APIcloud对应C#的 wcf框架作为后台,实现多库功能的更多相关文章
- WCF 框架运行时类图
本文画出了 WCF 框架运行时的重点类之间的类关系图. Binding 一个 Binding 由多个 BindingElement 组成.BindingElement 作为主要的扩展点.每一个 Bin ...
- WCF框架处理流程初探
拜读了大牛蒋金楠的<WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构>,写点心得. (原文:http://www.cnblogs.com/artech/archive/20 ...
- 【WCF 2】理解WCF框架的简单小实例
导读:上篇博客介绍了WCF框架的整体情况,然后,闲着没事儿,自己做了一个及其简单的WCF框架的例子帮助自己理解.从简单的入手,一步一步深入!本篇博客是介绍怎么用VS2012从头创建一个WCF项目,是一 ...
- 【WCF 1】WCF框架宏观了解
导读:使用WCF框架爱开发项目也有很长一段时间了,最开始的时候,是理解的不深,所以不写博客进行总结.后来是项目赶,发现需要总结的有很多,一直没有把WCF排上日程,尤其是最近研究EF这一块,更是研究了一 ...
- APICloud支持Atom编辑器,并建立开发工具核心库
APICloud支持Atom编辑器开发工具 APICloud始终坚持多开发工具支持策略,开发者无论使用Sublime Text3.Eclipse还是Webstorm,都可以在APICloud平台中找到 ...
- 内部框架——axure线框图部件库介绍
网页框架代码<iframe border=0 name=lantk src="要嵌入的网页地址" width=400 height=400 allowTransparency ...
- 关于vue 框架与后台框架的混合使用的尝试
这几天我在研究前台框架和后台框架融合的问题,进行了一些尝试; 我前台选择的是 vue,当然也可以选择 react 等其他 mvvm 框架,不过 vue 对于我来说是最熟悉的; 后台话,我选择的是 ph ...
- 关于vue 框架与后台框架的混合使用的尝试------转载
这几天我在研究前台框架和后台框架融合的问题,进行了一些尝试; 我前台选择的是 vue,当然也可以选择 react 等其他 mvvm 框架,不过 vue 对于我来说是最熟悉的; 后台话,我选择的是 ph ...
- 背景建模技术(三):背景减法库(BGS Library)的基本框架与入口函数main()的功能
背景减法库(BGS Library = background subtraction library)包含了37种背景建模算法,也是目前国际上关于背景建模技术研究最全也最权威的资料.本文将更加详细的介 ...
随机推荐
- wget命令企业级应用参数详解
wget -O /etc/yum.repos.d/CentOS-Base.repo --spider: 爬虫,检查网站是不是好的 -T: 指定超时时间 --tries=2 指定重试的次数 -q ...
- play @Before 的使用
用play 框架也又一段时间了,也算是有了些经验,今天就总结下@Before 的使用. 这个注解能主要在控制器中使用,用于在Action 前进行拦截 unless 表示不用拦截 的Action @Be ...
- WordPress中添加自定义评论表情包的方法
先来看看效果: 现在由于WordPress版本更新,再加上WordPress主题也越来越多,而现在的主题一般都是禁用了WordPress自带的评论表情,其实自带 的评论表情也是很丑的,但是以前我们可以 ...
- 本地安装plsql和instantclient连接linux服务器端的oracle
当虚拟机里面的linux服务器安装好oracle之后(具体安装方法在之前的博客有说到),如何连接使用呢?连接过程中会出现什么问题呢? 1.首先我们下载instantclient的压缩包,直接解压就好, ...
- [译]Android view 测量布局和绘制的流程
原文链接 创造优秀的用户体验是我们开发者的主要目标之一.为此, 我们首先要了解系统是如何工作的, 这样我们才可以更好的与系统配合, 从它的优点中获益, 规避它的缺陷. 之前关于Android渲染过程的 ...
- susmote个人网站博客论坛(TexTec | 关注互联网技术,传播极客精神)
网站地址 www.susmote.com www.textec.club 欢迎您的访问
- Spring容器中Bean的生命周期
- Mycat 配置说明(schema.xml )
Schema.xml 作为 MyCat中重要的配置文件之一,管理着 MyCat的逻辑库.表.分片规则.DataNode以 及DataSource.弄懂这些配置,是正确使用MyCat的前提. schem ...
- 笔记:MyBatis Mapper XML文件详解 - Cache
缓存(Cache) 从数据库中加载的数据缓存到内存中,是很多应用程序为了提高性能而采取的一贯做法.MyBatis对通过映射的SELECT语句加载的查询结果提供了内建的缓存支持.默认情况下,启用一级缓存 ...
- centOS7安装nodejs(8.4.0)(详细步骤)
1.使用rpm查看是否安装gcc.make 若如下图有输出版本详细表示已安装,则无需再次安装,直接下一步(输入rpm -qa 包名称) 若没有安装则执行以下命令安装: yum install gcc ...