`
wanjianfei
  • 浏览: 319147 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
在分别介绍了XML Signature和XML Encryption后,我们了解了如何用XML的形式来保证消息的完整性(Integrity)和机密性(Confidentiality)。如何将其运用到Web Service中从而保证Web Service的安全性,这就是WS-Security规范所描述的内容。我们知道Web Service的采用SOAP作为消息封装协议, 因此WS-Security规范主要描述了如何将XML Security(XML Signature和XML Encryption)与已有的安全技术(Kerberos,X.509,SAML)结合, 并把它们绑定到SOAP中. ...
利用XML Signature, 消息的完整性(Integrity)得到了保证。回顾之前提到的安全的三个基本概念--- Integrity, Confidentiality, Authentication, 现在该考虑消息的机密性的问题,虽然签名可以保证消息在传送的途中没有被篡改,但是并不能避免它被偷取。如果消息没有经过加密,那么某个敏感的信息就会被泄漏。与XML Signature类似,结合了XML技术和传统加密技术而产生的XML Encryption,也并不仅仅是加密XML文件那么简单,它提供了以下的功能:1.加密整个XML文件。2.加密XML文件中的某个元素。3.加密XML文件中某个元素的 ...
XML Signature规范是将数字签名和XML组合而成的产物,不要以为XML Signature仅仅是将数字签名技术应用于XML文件。 XML Signature包括以下的功能: 1.XML Signature可以对任何能够以URI形式(uniform resource identifier)定位的资源做签名。既包括与签名同在一个XML文件中的元素,也包括其他XML文件中的元素,甚至可以是非XML形式的资源(比如一个图形文件),只要能被URI定位到的资源都可以应用XML Signature. 这也代表了XML签名的对象可以是动态的变化。 2.XML Signature可以对XML文 ...
Web service目前被SOA所广泛采用。从目前Web Service的应用来看,Web Service技术确实具有某些显著的优点,已成为当前分布式技术的重要代表。 Web Service的一个显著特点就是Loose Coupling。服务的可发现性,平台无关性,接口的自描述性构成了Web Service的这一重要特点。而正是由于这个特点,Web Service被广泛的用于企业信息集成,其中既包括了企业内部的信息集成(不同部门的信息集成,遗留系统与新系统的信息集成),也包括了企业与企业之间的信息集成。同样也是由于这个特点,使得通过服务与服务的组合而构成新的应用变得更加简单,也更加可行 ...
建立Web服务 1.在wwwroot目录下建立一个叫做Webservice的目录。 2.建立下面这样一个文件: <%@ WebService Language="c#" Class="AddNumbers"%> using System;using System.Web.Services;public class AddNumbers : WebService{[WebMethod]public int Add(int a, int b){int sum;sum = a + b;return sum;}}   3.将这个文件 ...
在WebService中我们常常需要管理程序状态,如用户登录状态、权限状态等。同Web程序一样,我们可以使用Session,Application 来管理WebService的状态。 默认情况下,.Net的WebService是无状态的,其实要想使WebService获得状态管理的功能也很简单,那就是把WebMethod的属性EnableSession 设为true即可,如下例: public class UserSystem : System.Web.Services.WebService { ......... [WebMethod( EnableSession= ...
解决方法一:使用 Internet 信息服务管理器打开网站或虚拟目录的匿名访问。 解决方法二:使用客户端身份验证凭据。WebService ws = new WebService();ws.Url = "http://localhost/Learn.Web/WebService.asmx";ws.PreAuthenticate = true;ws.Credentials = System.Net.CredentialCache.DefaultCredentials;// 或 ws.UseDefaultCredentials = true; // .net 2.0Consol ...
多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我们可能需要在程序运行期间动态调用一个未知的服务。在 .NET Framework 的 System.Web.Services.Description 命名空间中有我们需要的东西。具体步骤:1. 从目标 URL 下载 WSDL 数据。2. 使用 ServiceDescription 创建和格式化 WSDL 文档文件。3. 使用 ServiceDescriptionImporter 创建客户端代理类。4. 使用 CodeDom 动态创建客户端代理类程序集。5. 利用反射 ...
ASP.NET WebService 支持绝大多数的基元类型及其数组,另外还支持自定义的结构(Struct)、类型(Class)、枚举(Enum)、DataSet、XmlElement、XmlNode、集合(IEnumerable/ICollection)等。ASP.NET WebService 使用 XmlSerializer 进行序列化操作,对于自定义类型要注意以下几点:1. 只能序列化可读写公共属性和字段。只读属性(get;)、只读字段(readonly)、常量(const)以及所有的非 public 数据成员都不会被序列化。2. 自定义类型必须具有不接受任何参数的默认构造函数。3. 不能 ...
1. 有关生存期的补充正常情况下,每次调用 WebMethod,服务器都会创建一个新的 WebService 对象,即便客户端使用同一个代理对象多次调用 WebMethod。而我们一旦调用了有缓存标记的 WebMethod,只要未超出缓存期,WebService 对象都不会被重新创建。在缓存期内调用没有缓存标记的 WebMethod,也会继续使用该 WebService 对象。有太多因素让这个缓存机制变得不那么可靠,因此我们不能奢望用缓存标记来维持特定的对象状态,况且缓存机制的设计初衷也只是为了快速输出那些比较稳定非常大的数据。基于多用户并发调用这个环境,WebService 本身最好设计成无状 ...
C#定义了一个类System.Windows.Forms.Clipboard来简化剪切板操作,这个类有一个静态方法,主要有: Clear 清除剪切板中的所有数据;ContainsData,ContainsAudio,ContainsFlieDropList,ContainsText,ContainsImage,用于检查剪切板中是否存在相应的数 ...
http://www.gotapi.com/语言:英语简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。http://www.w3schools.com/语言:英语简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。http://www.xml.org.cn/语言:中文简介:可以说是XML的中国官方网吧。W3C标准的翻译组织与XML系列技术交流社区.http://www.connectionstrings.com/语言:英语简介:这里几乎收集了所有的数据库连接字符(connectionstring)了。http://www.itpub.net/ ...
web service的执行效率是比较低的,所以在调用web方法时应尽量的一次性返回全部数据.同时还可以使用缓存技术.所谓的缓存技术也就是在一段时间内调用相同的方法时并不会执行web方法,而是直接从缓存中拿结果.在.net中可以用CacheDuration特性来修饰web方法,说明该方法使用了缓存. [ WebMethod(Description="Number of times this service has been accessed",CacheDuration=60,MessageName="ServiceUsage") ]public i ...
// // STEP 14: 把一个 access-allowed 的ACE 加入到新的DACL中 // 前面的循环拷贝了所有的非继承且SID为其它用户的ACE,退出循环的第一件事 // 就是加入我们指定的ACE。请注意首先先动态装载了一个AddAccessAllowedAceEx // 的API函数,如果装载不成功,就调用AddAccessAllowedAce函数。前一个函数仅
还是请看例程,这个程序比较长,来源于MSDN,我做了一点点修改,并把自己的理解加在注释中,所以,请注意代码中的注释: #include <windows.h>#include <tchar.h>#include <stdio.h> //使用Windows的HeapAlloc函数进行动态内存分配#define myheapalloc(x) (HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, x))#define myheapfree(x) (HeapFr ...
Global site tag (gtag.js) - Google Analytics