<!DOCTYPE HTML>
<html LANG="cn">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>cross domain IE5-11</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
$(function(){
$.support.cors = true; // support to IE5-11
$.ajax({
type: "GET",
url: "http://xxx-services:8081/api/values/99",
dataType: "json"
}).done(function (data) {
console.log(data);
});
});
</script>
</head>
<body>
</body>
</html>

public class ValuesController : ApiController
{
public async Task<string> Get(int id)
{
var info = string.Format("API CurrentThread:{0}", Thread.CurrentThread.ManagedThreadId);
var infoTask = await GetCurrentThread();
var infoTaskFinished = string.Format("After GetCurrentThread:{0}", Thread.CurrentThread.ManagedThreadId);
return string.Format("{0},{1},{2},{3}", info, infoTask, infoTaskFinished, id);
} private async Task<string> GetCurrentThread()
{
await Task.Delay();
return string.Format("Action CurrentThread:{0}", Thread.CurrentThread.ManagedThreadId);
}
}
public class Startup
{
public void Configuration(IAppBuilder MyApp)
{
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(name: "DefaultApi", routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
       MyApp.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
MyApp.UseWebApi(config);
}
}
//window service hosting

public class MyControllersService : ServiceHelper.BaseService
{
bool isstart = false;
public MyControllersService() : base("MyControllersService", true) { } protected override void MyWork()
{
try
{
this.OutputLog("MyWork Start", this.ServiceName);
string address = "http://xxx-services:8081/";
if(!isstart)
{
WebApp.Start<Startup>(url: address);
isstart = true;
this.OutputLog("Starting OWIN Host", this.ServiceName);
}
}
catch (Exception err)
{
this.OutputLog(CommonHelper.CommonUnit.ExceptionMsg(err), this.ServiceName);
throw;
}
finally
{
this.OutputLog("MyWork Stop", this.ServiceName);
}
    }
}

jquery call cross-domain webapi owin self-host的更多相关文章

  1. 基于空项目模板创建使用Owin来host的WebApi项目

    首先创建一个空的web项目,如下图所示: 项目创建成功以后,安装下面三个package. Install-Package Microsoft.AspNet.WebApi -Version 5.2.2I ...

  2. ASP.NET WebApi OWIN 实现 OAuth 2.0

    OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌, ...

  3. NET WebApi OWIN 实现 OAuth 2.0

    NET WebApi OWIN 实现 OAuth 2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和 ...

  4. webapi框架搭建-创建项目(三)-webapi owin

    上一篇:创建项目(二) 在上一篇里,我们已经创建好了webapi应用,并已经部署到iis里,本篇讲如何用owin自宿主或是iis宿主来部署webapi应用. owin介绍 传统的asp.net网站只能 ...

  5. ASP.NET WebApi OWIN 实现 OAuth 2.0(自定义获取 Token)

    相关文章:ASP.NET WebApi OWIN 实现 OAuth 2.0 之前的项目实现,Token 放在请求头的 Headers 里面,类似于这样: Accept: application/jso ...

  6. 用Web api /Nancy 通过Owin Self Host简易实现一个 Http 服务器

    过去做 端游的Http 服务器 用的WebApi 或者Mvc架构,都是放在iis...而我已经是懒出一个地步,并不想去配iis,或者去管理iis,所以我很喜欢 Self host 的启动方式. C#做 ...

  7. 【7】.net WebAPI Owin OAuth 2.0 密码模式验证实例

    1.OAuth密码模式 2.在VS中创建WebAPI项目 在nuget中安装: Microsoft.AspNet.WebApi.Owin Microsoft.Owin.Host.SystemWeb 这 ...

  8. 前端开发各种cross之cross domain

    作为一个苦逼前端开发工程师,不得不面对各种cross,比如面对五花八门的浏览器我们必须cross browser,面对各种终端,我们必须cross device,在这么多年的前端开发经历中,在不同的域 ...

  9. [转]ASP.NET WebApi OWIN 实现 OAuth 2.0

    OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌, ...

随机推荐

  1. 【297】IDL 过程、函数&关键字参数

    目录: 一.Procedure 1.1 基本说明&定义 1.2 关键字参数 二.Function 2.1 基本说明&定义 2.2 关键字参数 参考:IDL中函数中的带有关键字的参数的使 ...

  2. linux磁 盘分区 挂载

    f命令查看磁盘的分区和已经使用量 利用du命令查询当前目录下的所有目录/文件所占的容量 dumpe2fs查看分区的具体使用情况 磁盘的分区–命令fdisk fdisk /dev/sda 进入这个设备m ...

  3. jquery 报错 Uncaught TypeError: Illegal invocation

    遇到这个错误 请检查你的ajax提交方法的参数 1 参数是否都有定义 2 参数个数是否一致 3参数是否都有值(******)

  4. spring是什么

    spring是一个容器,用于降低代码间的耦合度,根据不同的代码采用了ioc和aop这二种技术来解耦合. 比如转账操作:a用户少1000,b用户多1000.这是主业务逻辑   IOC 涉及到的事务,日志 ...

  5. go_常量与枚举

    package main import ( "fmt" "math" ) //常量的数值可以作为各种类型使用 func consts(){ const file ...

  6. 141. Linked List Cycle (List; Two-Pointers)

    Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using ex ...

  7. Comet OJ - Contest #2 D 枚举重心

    题面 思路: 函数f相当于是求一个点集f的直径,有一个性质是如果这个点集有多个直径一定相交于某一个点,或者一条边的中心,所以我们暴力枚举重心,计算以某个点为重心的点集对答案的贡献. 具体实现的时候,我 ...

  8. java-tip-Collections.synchronized系列生成的容器

    这个系列的容器,和Vector或者HashTable之流的差不多, 区别是: Vector和HashTable是在关键方法上加synchronized关键字 而 Collections.synchro ...

  9. Python Windows下打包成exe文件

    Python Windows 下打包成exe文件,使用PyInstaller 软件环境: 1.OS:Win10 64 位 2.Python 3.7 3.安装PyInstaller 先检查是否已安装Py ...

  10. static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较

    隐式转换(implicit conversion) ; int b; b=a; short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如 ...