1. 参考文档:http://www.yiibai.com/csharp/csharp_environment_setup.html

2. C# ,ASP.NET HTTP Authorization Header

  c参考:

      http://www.makeyuan.com/2014/02/27/1117.html

      http://stackoverflow.com/questions/4675166/asp-net-http-authorization-header

I would like to know why my asp.net application will not add the header to my post when it is named 'Authorization' but will work fine when I change one character, say "Authorizations". In documentation for other sites they always use the name "Authorization" so I would like to as well and at this point I just want to under stand why.

I have read a few topics about this but have not found any logical reason why.

Here is my code below:

  1. string fileName = "c:\\xyz.xml";
  2. string uri = "http://myserver/Default.aspx";
  3. req = WebRequest.Create(uri);
  4. req.Method = "POST";
  5. req.ContentType = "text/xml";
  6. byte[] authBytes = Encoding.UTF8.GetBytes("DDSServices:jCole2011".ToCharArray());
  7. req.Headers.Add("Authorization", "BASIC " + Convert.ToBase64String(authBytes) );
  8. req.Headers.Add("test", "test");
  9. UTF8Encoding encoder = new UTF8Encoding();
  10. byte[] data = encoder.GetBytes(this.GetTextFromXMLFile(fileName));
  11. req.ContentLength = data.Length;
  12. Stream reqStream = req.GetRequestStream();
  13. reqStream.Write(data, 0, data.Length);
  14. reqStream.Close();
  15. req.Headers.Add("Authorization", "BASIC" + Convert.ToBase64String(authBytes));
  16. System.Net.WebResponse response = req.GetResponse();
  17. System.IO.StreamReader reader = new StreamReader(response.GetResponseStream());
  18. string str = reader.ReadToEnd();

  The other annoying this is when i add the watched variable through fiddler it works fine.

http://stackoverflow.com/questions/4675166/asp-net-http-authorization-header

3. 官网学习 asp.net mvc4 web应用程序开发。(非常好)

http://www.asp.net/mvc/overview/older-versions/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4

下面是我实现的调用:restful api  的例子:

文件名: testController.cs

代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6.  
  7. using System.IO;
  8. using System.Text;
  9. using System.Net;
  10.  
  11. namespace MvcMovie.Controllers
  12. {
  13. public class testController : Controller
  14. {
  15. //
  16. // GET: /test/
  17.  
  18. public string Index()
  19. {
  20. // Create the web request
  21. HttpWebRequest request = WebRequest.Create("https://****") as HttpWebRequest;
  22.  
  23. // Add authentication to request
  24. string _auth = string.Format("{0}:{1}", "**username**", "**password**");
  25. string _enc = Convert.ToBase64String(Encoding.ASCII.GetBytes(_auth));
  26. string _cred = string.Format("{0} {1}", "Basic", _enc);
  27. request.Headers[HttpRequestHeader.Authorization] = _cred;
  28. //request.Credentials = new NetworkCredential("diacloud@163.com", "test123456");
  29.  
  30. // Get response
  31. using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
  32. {
  33. // Get the response stream
  34. StreamReader reader = new StreamReader(response.GetResponseStream());
  35.  
  36. // Console application output
  37. //Console.WriteLine(reader.ReadToEnd());
  38. return (reader.ReadToEnd());
  39. }
  40.  
  41. return "aaa";
  42. }
  43.  
  44. }
  45. }

  保存,编译后了,浏览器访问(或者 Ctrl+F5):http://localhost:30921/test

成功了!!!!ok!!!

C# 开发系列(二)的更多相关文章

  1. WordPress版微信小程序开发系列(二):安装使用问答

    自WordPress版微信小程序发布开源以来,受关注的程度超过我原来的想象.这套程序主要面对的用户是wordpress网站的站长,如果wordpress站想在微信的生态圈得到推广,小程序成为一种重要的 ...

  2. 微信小程序开发系列二:微信小程序的视图设计

    大家如果跟着我第一篇文章 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 一起动手,那么微信小程序的开发环境一定搭好了.效果就是能把该小程序的体验版以二维码的方式发送给其他朋友使用. 这个系列 ...

  3. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

  4. BizTalk开发系列(二十八) MSMQ 适配器

    MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间 中的任一 ...

  5. BizTalk开发系列(二十二) 开发自定义Map Functoid

    尽管 BizTalk Server 提供许多Functoid以支持一系列不同的操作,但仍可能会遇到需要其他方法的情况.<BizTalk开发系列 Map扩展开发>介绍了通过使用自定义 XSL ...

  6. 【Qt编程】基于Qt的词典开发系列<二>--本地词典的设计

    我设计的词典不仅可以实现在线查单词,而且一个重大特色就是具有丰富的本地词典库:我默认加入了八个类型的词典,如下所示: 由于是本人是通信专业,因此加入了华为通信词典.电子工程词典,又由于我喜爱编程,也加 ...

  7. leaflet-webpack 入门开发系列二加载不同在线地图切换显示(附源码下载)

    前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...

  8. BizTalk开发系列(二) "Hello World" 程序搬运文件

    我们在<QuickLearn BizTalk系列之"Hello World">里讲到了如何快速的开发第一个BizTalk 应用程序.现在我们来讲一下如何把这个程序改成用 ...

  9. BizTalk开发系列(二十六) 使用Web Service

    Web Service是在构建SOA平台中广泛使用的技术.在BizTalk开发过程中使用SOAP适配器接收和发送 Web Services 请求.业务流程可以发布为 Web Services 并使用外 ...

  10. BizTalk开发系列(二十五) SQL Adapter

    SQL Server 是.NET开发的首选数据库.当然开发BizTalk应用程序很多也离不了SQL Server.针对SQL Server的数据操作BizTalk 提供了SQL Adapter作为与数 ...

随机推荐

  1. Inno Setup入门(七)——提供安装语言选项

    Inno Setup安装目录下有一个Languages的文件夹,该文件夹提供了可供使用的语言,通过在脚本中加入[languages]段,可以实现该项功能,实现代码如下: [setup] ;全局设置,本 ...

  2. mvc动态生成a标签,多个属性,多个querystring

    1*服务端 客户端 跳转的url 2*服务端 客户端 跳转的url 3*服务端 客户端  跳转的url  4*服务端 客户端 跳转的url

  3. 使用oracle数据库开发,异常总结

    最近两天使用的oracle数据库开发项目时遇到了2个异常,第一个是执行sql语句时报异常:“ORA-00911: 无效字符”,如下图: sql语句如下: 断点调试,把sql语句拷贝到pl/sql里执行 ...

  4. thinkphp中select()和find()的区别

    find()返回一个一维数组 select()返回一个二维数组 所以在取值时有所不同,一维数组取值用$data["data"],二维数组取值用$data[0]["data ...

  5. 编译使用tinyxml

    环境: win7 32位旗舰版,VS2010,tinyxml_2_6_2版本 1.下载tinyxml,并解压到tinyxml文件夹下 2.生成动态链接库 原生的Tinyxml只支持静态库(没有在.h文 ...

  6. php 编程效率(1)

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中 ...

  7. 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】

    今天,我们首先安装一些必须的软件,主要有下面的4个,其中软件1和2使用在服务器机上,软件3和4安装在客户端机上.另外,我们还有用到MSBuild.RoboCopy.WebDeployment等等,在下 ...

  8. JavaScript(2)——对象属性、原型与原型链

    对象属性.原型与原型链 哈哈哈,我的第二篇博客哟,说的是对象属性.原型与原型链.可能这些只是某些小点串联起来的,逻辑性没有很强.所以会对文章的可读性和理解性带来一些困扰.不过,今天我又前进了那么一小步 ...

  9. Oracle Sql优化之lead,lag分析函数

    1.表中有四个字段:人员编号,开始时间,结束时间,类型,数据ID,需要实现如下需求 a.当类型为-1时,丢弃该记录 b.当类型为-1时,且前一行结束时间为null,当前行的开始时间-1作为前一行的结束 ...

  10. Intent之间无法传递大数据的替代方法

    /** * TODO: Activity之间传递list,对象等工具类 * * @author * @date 2014-9-12 下午5:35:38 * @version 0.1.0 */ publ ...