首先,我是使用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框架作为后台,实现多库功能的更多相关文章

  1. WCF 框架运行时类图

    本文画出了 WCF 框架运行时的重点类之间的类关系图. Binding 一个 Binding 由多个 BindingElement 组成.BindingElement 作为主要的扩展点.每一个 Bin ...

  2. WCF框架处理流程初探

    拜读了大牛蒋金楠的<WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构>,写点心得. (原文:http://www.cnblogs.com/artech/archive/20 ...

  3. 【WCF 2】理解WCF框架的简单小实例

    导读:上篇博客介绍了WCF框架的整体情况,然后,闲着没事儿,自己做了一个及其简单的WCF框架的例子帮助自己理解.从简单的入手,一步一步深入!本篇博客是介绍怎么用VS2012从头创建一个WCF项目,是一 ...

  4. 【WCF 1】WCF框架宏观了解

    导读:使用WCF框架爱开发项目也有很长一段时间了,最开始的时候,是理解的不深,所以不写博客进行总结.后来是项目赶,发现需要总结的有很多,一直没有把WCF排上日程,尤其是最近研究EF这一块,更是研究了一 ...

  5. APICloud支持Atom编辑器,并建立开发工具核心库

    APICloud支持Atom编辑器开发工具 APICloud始终坚持多开发工具支持策略,开发者无论使用Sublime Text3.Eclipse还是Webstorm,都可以在APICloud平台中找到 ...

  6. 内部框架——axure线框图部件库介绍

    网页框架代码<iframe border=0 name=lantk src="要嵌入的网页地址" width=400 height=400 allowTransparency ...

  7. 关于vue 框架与后台框架的混合使用的尝试

    这几天我在研究前台框架和后台框架融合的问题,进行了一些尝试; 我前台选择的是 vue,当然也可以选择 react 等其他 mvvm 框架,不过 vue 对于我来说是最熟悉的; 后台话,我选择的是 ph ...

  8. 关于vue 框架与后台框架的混合使用的尝试------转载

    这几天我在研究前台框架和后台框架融合的问题,进行了一些尝试; 我前台选择的是 vue,当然也可以选择 react 等其他 mvvm 框架,不过 vue 对于我来说是最熟悉的; 后台话,我选择的是 ph ...

  9. 背景建模技术(三):背景减法库(BGS Library)的基本框架与入口函数main()的功能

    背景减法库(BGS Library = background subtraction library)包含了37种背景建模算法,也是目前国际上关于背景建模技术研究最全也最权威的资料.本文将更加详细的介 ...

随机推荐

  1. IDEA jsp模板

    > File > Settings- > File and Code Templates > Other >Jsp files >Jsp File.jsp < ...

  2. java--抽象类实例(包含静态内部抽象类)

    静态内部抽象类可以被继承. public class testfather { public static void main(String[] args) { person.talk2 a = ne ...

  3. Openstack Pycharm 的远程调试

    问题背景 最近再研究openstack cinder api的时候遇到了个问题:使用命令行调用API的时候,使用domain的token时,会产生一个错误,但是通过cinder的api都无法确定产生错 ...

  4. leetcode【14题】Longest Common Prefix

    题目:Longest Common Prefix 内容: Write a function to find the longest common prefix string amongst an ar ...

  5. 关于现在IT行业从业者一些建议

    本人从事IT行业,确切的说应该是软件开发行业已经9个年头了,从刚开始小白也慢慢的已经有了自己独有的开发习惯. 近些年进入行业的人越来越多,有可能确实看到了这行业就业及薪资待遇,更多的也是随着互联网及移 ...

  6. js中判定this的规则

    判定this new绑定:新建对象; var bar = new foo(); 明确绑定(call.apply,bind):指定对象; var bar = foo.call(obj) 隐含绑定:环境对 ...

  7. 温故而知新--hashtable

    哈希在实际使用中主要是当作私有内存,对数据进行插入和查找,哈希数据元素越多,操作的时候消耗的性能就越到,最明显的是当数据元素达到哈希的容量大小时,插入数据冲突概率会变大,并慢慢的退化为数组. 本例子中 ...

  8. [总结] 第二类Stirling数

    上一道例题 我们来介绍第二类Stirling数 定义 第二类Stirling数实际上是集合的一个拆分,表示将n个不同的元素拆分成m个集合的方案数,记为 或者 .和第一类Stirling数不同的是,集合 ...

  9. 笔记:Spring Cloud Hystrix 异常处理、缓存和请求合并

    异常处理 在 HystrixCommand 实现的run方法中抛出异常,除了 HystrixBadRequestException之外,其他异常均会被Hystrix 认为命令执行失败并触发服务降级处理 ...

  10. memcache 总结笔记

    (一):基础概念 memcache是什么? Memcache 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态 ...