??xml version="1.0" encoding="utf-8" standalone="yes"?>
通过BSl构向ftp上传文g的时候,出现权限错误Q不能创建文件?br>
搜烦了半天之后,该文件夹权限Q更改servu讄Q都无济于事?br>
最l还是这个办法解决了问题Q?br>
要将 ASP.NET 讉K权限授予某个文gQ请在资源管理器中右击该文gQ选择“属?#8221;Q然后选择“安全”选项卡。单?#8220;d”d适当的用hl。突出显C?ASP.NET 帐户Q选中所需讉K权限对应的框?br>?Web.Config 中添加如下代?OK?/p>
<authentication mode="Windows"/>
<identity impersonate="true" userName="用户? password="密码"/> //dq句
http://www.cnblogs.com/salonliudong/archive/2007/06/16/785604.html
一、Web Service?/strong>
1.1?/span>Web Service基本概念
Web Service也叫XML Web Service WebService是一U可以接收从Internet或?/span>Intranet上的其它pȝ中传递过来的hQ轻量的独立的通讯技术。是:通过SOAP?/span>Web上提供的软g服务Q?/span>WSDL文gq行说明Qƈ通过UDDIq行注册?/span>
XMLQ?/span>(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万l网l,?/span>Soap的基?/span>
SoapQ?/span>(Simple Object Access Protocol)单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI扑ֈ你的WSDL描述文档后,他通过可以SOAP调用你徏立的Web服务中的一个或多个操作?/span>SOAP?/span>XML文档形式的调用方法的规范Q它可以支持不同的底层接口,?/span>HTTP(S)或?/span>SMTP?/span>
WSDLQ?/span>(Web Services Description Language) WSDL 文g是一?/span> XML 文Q用于说明一l?/span> SOAP 消息以及如何交换q些消息。大多数情况下由软g自动生成和用?/span>
UDDI (Universal Description, Discovery, and Integration) 是一U根据描q文来引导pȝ查找相应服务的机制?/span>UDDI利用SOAP消息机制Q标准的XML/HTTPQ来发布Q编辑,览以及查找注册信息。它采用XML格式来封装各U不同类型的数据Qƈ且发送到注册中心或者由注册中心来返回需要的数据?/span>
1.2?/span>XML Web Service的特?/span>
Web Service的主要目标是跨^台的可互操作性。ؓ了实现这一目标Q?/span>Web Service 完全ZXMLQ可扩展标记语言Q?/span>XSDQ?/span>XML SchemaQ等独立于^台、独立于软g供应商的标准Q是创徏可互操作的、分布式应用E序的新q_。因此?/span>Web Service有许多优?/span>:
1、跨防火墙的通信
如果应用E序有成千上万的用户Q而且分布在世界各圎ͼ那么客户端和服务器之间的通信是一个棘手的问题。因为客L和服务器之间通常会有防火墙或者代理服务器。传l的做法是,选择用浏览器作ؓ客户端,写下一大堆ASP面Q把应用E序的中间层暴露l最l用戗这样做的结果是开发难度大Q程序很隄护?/span> 要是客户端代码不再如此依赖于HTML表单Q客L的编E就单多了。如果中间层lg换成Web Service的话Q就可以从用L面直接调用中间层lgQ从而省掉徏?/span>ASP面的那一步。要调用Web ServiceQ可以直接?/span>Microsoft SOAP Toolkit?/span>.NETq样?/span>SOAP客户端,也可以用自己开发的SOAP客户端,然后把它和应用程序连接v来。不仅羃短了开发周期,q减了代码复杂度,q能够增强应用程序的可维护性。同Ӟ应用E序也不再需要在每次调用中间层组件时Q都跌{到相应的“l果?#8221;?/span>
2、应用程序集?/span>
企业U的应用E序开发者都知道Q企业里l常都要把用不同语言写成的、在不同q_上运行的各种E序集成hQ而这U集成将p很大的开发力量。应用程序经帔R要从q行的一CZ的程序中获取数据Q或者把数据发送到L或其它^台应用程序中厅R即使在同一个^CQ不同Y件厂商生产的各种软g也常帔R要集成v来。通过Web ServiceQ应用程序可以用标准的方法把功能和数?#8220;暴露”出来Q供其它应用E序使用?/span>
3?/span>B2B的集?/span>
B2B 指的?/span>Business to BusinessQ?/span>as in businesses doing business with other businesses,商家(泛指企业)对商家的电子商务Q即企业与企业之间通过互联|进行品、服务及信息的交换。通俗的说法是指进行电子商务交易的供需双方都是商家(或企业、公?/span>)Q她们用了Internet的技术或各种商务|络q_Q完成商务交易的q程?/span>
Web Service?/span>B2B集成成功的关键。通过Web ServiceQ公司可以只需把关键的商务应用“暴露”l指定的供应商和客户Q就可以了,Web Serviceq行?/span>Internet上,在世界Q何地斚w可轻易实玎ͼ其运行成本就相对较低?/span>Web Service只是B2B集成的一个关键部分,q需要许多其它的部分才能实现集成?/span> ?/span>Web Service来实?/span>B2B集成的最大好处在于可以轻易实C操作性。只要把商务逻辑“暴露”出来Q成?/span>Web ServiceQ就可以让Q何指定的合作伙伴调用q些商务逻辑Q而不他们的pȝ在什么^Cq行Q用什么开发语a。这样就大大减少了花?/span>B2B集成上的旉和成本?/span>
4、Y件和数据重用
Web Service在允讔R用代码的同时Q可以重用代码背后的数据。?/span>Web ServiceQ再也不必像以前那样Q要先从W三方购买、安装Y件组Ӟ再从应用E序中调用这些组Ӟ只需要直接调用远端的Web Service可以了。另一UY仉用的情况是,把好几个应用E序的功能集成v来,通过Web Service “暴露”出来Q就可以非常Ҏ地把所有这些功能都集成C的门L点中Qؓ用户提供一个统一的、友好的界面?/span> 可以在应用程序中使用W三方的Web Service 提供的功能,也可以把自己的应用程序功能通过Web Service 提供l别人。两U情况下Q都可以重用代码和代码背后的数据?/span>
从以上论q可以看出,Web Service 在通过Webq行互操作或q程调用的时候是最有用的。不q,也有一些情况,Web ServiceҎ不能带来M好处Q?/span>Web Service有一下缺点:
1?/span> 单机应用E序
目前Q企业和个hq用着很多桌面应用E序。其中一些只需要与本机上的其它E序通信。在q种情况下,最好就不要?/span>Web ServiceQ只要用本地?/span>API可以了?/span>COM非常适合于在q种情况下工作,因ؓ它既又快。运行在同一台服务器上的服务器Y件也是这栗当?/span>Web Service 也能用在q些场合Q但那样不仅消耗太大,而且不会带来M好处?/span>
2?/span> 局域网的一些应用程?/span>
在许多应用中Q所有的E序都是?/span>Windowsq_下?/span>COMQ都q行在同一个局域网上。在q些E序里,使用DCOM会比SOAP/HTTP有效得多。与此相cMQ如果一?/span>.NETE序要连接到局域网上的另一?/span>.NETE序Q应该?/span>.NET Remoting。其实在.NET Remoting中,也可以指定?/span>SOAP/HTTP来进?/span>Web Service 调用。不q最好还是直接通过TCPq行RPC调用Q那样会有效得多?/span>
1.3?/span>XML Web Service的应?/span>
1.最初的 XML Web Service 通常是可以方便地q入应用E序的信息来源,如股h根{天气预报、体育成l等{?/span>
2.?/span> XML Web Service 方式提供现有应用E序Q可以构建新的、更强大的应用程序,q利?/span> XML Web Service 作ؓ构造块?/span>
例如Q用户可以开发一个采购应用程序,以自动获取来自不同供应商的hg息,从而用户可以选择供应商,提交订单Q然后跟t货物的q输Q直x到货物。而供应商的应用程序除了在Web上提供服务外Q还可以使用XML Web Service查客L信用、收取货ƾ,q与货运公司办理货运手箋?/span>
二?/span>Web Service开?/span>
.NETq_内徏了对Web Service的支持,包括Web Service的构建和使用。与其它开发^C同,使用.NETq_Q你不需要其他的工具或?/span>SDK可以完?/span>Web Service的开发了?/span>.NET Framework本n全面支?/span>Web ServiceQ包括服务器端的h处理器和对客L发送和接受SOAP消息的支持。下来我们就一步一步的?/span>Microsoft Visual Studio .NET 2005Q后面简U?/span>VS.Net 2005Q创建和使用一个简单的Web Service?/span>
2.1、用创徏一个最单的Web Service
首先Q打开VS2005,打开“文g-新徏-|站”Q选择“ASP.NET Web服务”?br>
查看Service.cs代码Q你会发?/span>VS.Net 2005已经?/span>Web Service文g建立了缺省的框架。原始代码ؓQ?/span>
默认工程里面已经有一?/span>Hello World的方法了Q直接运行看看效果,
点击昄面上图中的“HelloWorld”链接,跌{C一面
2.2、创Z个带?/span>?/span>功能?/span>Web Service
上面我们宏观的了解了webserviceQ其实它是个对外的接口,里面有函数可供外部客戯?/span>(注意:里面同样有客户不可调用的函数).假若我们是服务端,我们写好了个webservice,然后把它l了客户(同时我们l了他们调用规则),客户可以在从服务端获取信息时处于一个相寚w明的状?/span>.x客户不了?/span>(也不需?/span>)其过E?/span>,他们只获取数?/span>.在代码文仉,如果我们写了一个函数后,希望此函数成为外部可调用的接口函?/span>,我们必须在函C面添上一行代?/span>[WebMethod],如果你的函数没有q个x,它将不能被用户引用?/span>WebMethodҎ有几U属性需要说明:
1?/span>WebMethod ?/span> BufferResponse 属?/span> 启用?/span> XML Web services Ҏ响应的缓册Ӏ当讄?/span> trueQ默认设|)ӞASP.NET 在将响应向下发送到客户端之前对整个响应q行~冲?/span>
[WebMethod(BufferResponse=false)]
2?/span>WebMethod ?/span> CacheDuration 属?/span> 启用?/span> XML Web services Ҏl果的缓存?/span>ASP.NET 缓存每个唯一参数集的l果?/span>
[WebMethod(CacheDuration=60)]
3?/span>WebMethod ?/span> Description 属?/span> 提供 XML Web services Ҏ的说明,该说明将昄在服务帮助页上。除非另外指定,默认gؓI字W串?/span>
[WebMethod(Description="我的Ҏ")]
4?/span>WebMethod ?/span> EnableSession 属?/span> 启用 XML Web services Ҏ的会话状态。一旦启用,XML Web services 可以从 HttpContext.Current.Session 中直接访问会话状态集合,或者,如果它是?/span> WebService 基类l承的,则可以?/span> WebService.Session 属性来讉K会话状态集合。除非另外指定,默认gؓ false?/span>
[WebMethod(EnableSession=true)]
5?/span>WebMethod ?/span> MessageName 属?/span>) ?/span> XML Web services 能够唯一定使用别名的重载方法。除非另外指定,默认值是Ҏ名称。当指定 MessageName Ӟl果 SOAP 消息反映该名称Q而不是实际的Ҏ名称?/span>
[WebMethod(MessageName="AddDoubles")]
6?/span>WebMethod ?/span> TransactionOption 属?/span> ?/span> XML Web services Ҏ可以作ؓ事务的根对象参与。虽然可以将 TransactionOption 属?/span> 讄?/span> TransactionOption 枚D的Q意|?/span> XML Web services Ҏ仅有两个可能的行为:它不参与事务或它创徏一个新事务?/span>
using System.EnterpriseServices;
[WebMethod(TransactionOption=TransactionOption.RequiresNew)]
下来我们开始编写一个简单的Web Service 的例子?/span>
先把默认?/span>HelloWorldҎ注释掉,单的写了求加减乘除运的四个ҎQ?/span>
在参C面输入参?/span>i=3,j=3,如上?/span>,点击调用,可以看到用XML格式q回?/span>Web Servicel果(i?/span>j相加的结?/span>)下图
到这?/span>,我们会发?/span>,其实webserviceq不是那么的秘,它也不过只是个接?/span>,Ҏ们而言,侧重点就是是接口函数的编?/span>.
2.3、用ASP.NET调用Web Service
首先Q打开VS2005,打开“文g-新徏-|站”Q选择“ASP.NET|站”?/span>
?/span>URL中填入,前面写好?/span>WebServiceq行后浏览器上面昄的地址Q点?#8220;前往”按钮Q如上图Q就会显C出所引用?/span>WebService中可以调用的ҎQ然后点?#8220;d引用”Q就?/span>webservice引用C当前的工E里?/span> Q如下图Q解x案中会出现引q来?/span>WebService文g
我们在这q习调?/span>webservice的四个方法,做一个简单的调用的例子,先在|站的前台添加几个控Ӟ代码如下Q?/span>
然后在后台写调用的代码,调用之前和用其它的对象一P要先实例化,实例化的Ҏ?/span>localhost.Service a = new localhost.Service();然后可以通过a来访?/span>WebService里面提供的方法了。在q个例子里面Q动态的创徏了一?/span>button控g来触?/span>WebService的调用,后台代码如下Q?br>