如何配置iis
如何在 IIS 中创建和配置虚拟目录?
首先需要启动 IIS 管理器。
要点
若要执行下面一个或多个过程,您必须以本地计算机上的 Administrators 组成员的身份登录,或者必须已经被委派了适当的权限。
从“运行”对话框中启动 IIS 管理器
1.在“开始”菜单上单击“运行”。
2.在“打开”框中,键入 inetmgr,然后单击“确定”。
从管理服务控制台启动 IIS 管理器
1.在“开始”菜单上单击“运行”。在“运行”文本框中键入 control panel,然后单击“确定”。
2.在“控制面板”窗口中单击“管理工具”。
3.在“管理工具”窗口中单击“Internet 信息服务”。
创建虚拟目录
现在,IIS 管理器已经启动,您可以创建虚拟目录了。
·使用 IIS 管理器创建虚拟目录
1.在 IIS 管理器中,展开要添加虚拟目录的本地计算机和网站。右击要创建虚拟目录的站点或文件夹,指向“新建”,然后单击“虚拟目录”。
2.在虚拟目录创建向导中,单击“下一步”。
3.在“别名”框中,键入虚拟目录的名称,然后单击“下一步”。选择一个易于键入的简称,因为用户必须键入此名称才能访问网站。
4.在“路径”框中,键入或浏览至包含虚拟目录的物理目录,然后单击“下一步”。请注意,您可以选择现有的文件夹或者创建一个新文件夹来包含虚拟目录的内容。
5.选中与要分配给用户的访问权限对应的复选框。默认情况下,“读取”和“运行脚本”复选框处于选中状态;使用这些权限,您可以在许多常见情况下运行 ASP.NET 页。
6.单击“下一步”,然后单击“完成”。
配置虚拟目录
在创建新的虚拟目录后,可以将它配置为运行 ASP.NET 页并配置安全性。
为访问 ASP.NET 当前用户上下文的系统资源而配置的帐户
在完成对虚拟目录的配置后,可以向与虚拟目录关联的物理目录添加 ASP.NET 网页。
为虚拟目录配置安全性和身份验证
1.在 IIS 管理器中,右击要配置的虚拟目录的节点,然后单击“属性”。
2.单击“目录安全性”选项卡,然后在“身份验证和访问控制”部分单击“编辑”。
3.选中与要用于虚拟目录的身份验证方法对应的复选框,然后单击“确定”。默认情况下,“启用匿名访问”和“Windows 集成身份验证”复选框已经处于选中状态。
注意
两个最常见的身份验证方案是对本地 Intranet 站点使用 Windows 集成身份验证,对用户通过防火墙访问的 Internet 或 Extranet 站点使用 Forms 身份验证。若要为 Intranet 或本地开发方案配置身份验证,请清除“启用匿名访问”复选框,并确保“集成 Windows 身份验证”复选框处于选中状态。若要为 Internet 站点配置身份验证,需要设置 Forms 身份验证。
4.在 Windows 资源管理器中,定位到将包含站点各页的文件夹。右击该文件夹,然后单击快捷菜单上的“共享和安全”。
5.在“安全”选项卡上,配置所需的其他任何帐户和权限,然后单击“确定”。
注意
若要更改现有帐户的权限,请在“组或用户名”列表中选择该帐户,然后选中相应的权限复选框。若要添加新帐户,请单击“添加”,然后单击“位置”按钮。从列表 中选择本地计算机名,再单击“确定”。然后在文本框中键入要添加的特定帐户名。键入帐户名之后,单击“检查名称”对帐户名进行验证,最后单击“确定”添加 该帐户。
c#的LIST 到底是接口还是类
C#中List是个类,Java中List是个接口不能被实例化,两种语言有区别。
Java中可以这样写:
List
list
=
null;
或者被一个实现类实现一下也行List
list
=
new
ArrayList
();
但是在Java这样写List
list
=
new
List
();是错的
如果在.net中用C#语言编写可以这样写:
List
list
=
new
List
();
可以引入泛型也可以不引入泛型,根据实际情况。这里只讲用法。
lisp语言的定义
约翰麦卡锡定义lisp
当然早已有了各种计算模型--最著名的是图灵机. 但是图灵机程序难以读懂. 如果你要一种描述算法的语言,你可能需要更抽象的,而这就是约翰麦卡锡定义 Lisp的目标之一.
约翰麦卡锡于1960年定义的语言还缺不少东西. 它没有副作用,没有连续执行 (它得和副作用在一起才有用),没有实际可用的数, 没有动态可视域. 但这些限制可以令人惊讶地用极少的额外代码来补救. Steele和Sussman在一篇叫做``解释器的艺术’’的著名论文中描述了如何做到这点.
如果你理解了约翰麦卡锡的eval,那你就不仅仅是理解了程序语言历史中的一个阶段. 这些思想至今仍是Lisp的语义核心. 所以从某种意义上,学习约翰麦卡锡的原著向我们展示了Lisp究竟是什么. 与其说Lisp是麦卡锡的设计,不如说是他的发现. 它不是生来就是一门用于人工智能,快速原型开发或同等层次任务的语言. 它是你试图公理化计算的结果(之一).
随着时间的推移,中级语言,即被中间层程序员使用的语言,正一致地向Lisp靠近. 因此通过理解eval你正在明白将来的主流计算模式会是什么样.
注释
把约翰麦卡锡的记号翻译为代码的过程中我尽可能地少做改动. 我有过让代码更容易阅读的念头,但是我还是想保持原汁原味.
在约翰麦卡锡的论文中,假用f来表示,而不是空表. 我用空表表示假以使例子能在Common Lisp中运行. (fixme)
我略过了构造dotted pairs,因为你不需要它来理解eval. 我也没有提apply,虽然是apply(它的早期形式,主要作用是引用自变量),被约翰麦卡锡在1960年称为普遍函数,eval只是不过是被apply调用的子程序来完成所有的工作.
我定义了list和cxr等作为简记法因为麦卡锡就是这么做的. 实际上 cxr等可以被定义为普通的函数. List也可以这样,如果我们修改eval,这很容易做到,让函数可以接受任意数目的自变量.
麦卡锡的论文中只有五个原始操作符. 他使用了cond和quote,但可能把它们作为他的元语言的一部分. 同样他也没有定义逻辑操作符and和not,这不是个问题,因为它们可以被定义成合适的函数.
在eval.的定义中我们调用了其它函数如pair.和assoc.,但任何我们用原始操作符定义的函数调用都可以用eval.来代替. 即
(assoc. (car e) a)
能写成
(eval. ’((label assoc.
(lambda (x y)
(cond ((eq (caar y) x) (cadar y))
(’t (assoc. x (cdr y))))))
(car e)
a)
(cons (list ’e e) (cons (list ’a a) a)))
麦卡锡的eval有一个错误. 第16行是(相当于)(evlis. (cdr e) a)而不是(cdr e),这使得自变量在一个有名函数的调用中被求值两次. 这显示当论文发表的时候,eval的这种描述还没有用IBM 704机器语言实现. 它还证明了如果不去运行程序,要保证不管多短的程序的正确性是多么困难.
我还在麦卡锡的论文中碰到一个问题. 在定义了eval之后,他继续给出了一些更高级的函数--接受其它函数作为自变量的函数. 他定义了maplist:
(label maplist
(lambda (x f)
(cond ((null x) ’())
(’t (cons (f x) (maplist (cdr x) f))))))
然后用它写了一个做微分的简单函数diff. 但是diff传给maplist一个用x做参数的函数,对它的引用被maplist中的参数x所捕获.
这是关于动态可视域危险性的雄辩证据,即使是最早的更高级函数的例子也因为它而出错. 可能麦卡锡在1960年还没有充分意识到动态可视域的含意. 动态可视域令人惊异地在Lisp实现中存在了相当长的时间--直到Sussman和Steele于 1975年开发了Scheme. 词法可视域没使eval的定义复杂多少,却使编译器更难写了.
About this document
About this document ... This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)
Copyright © 1993,1994,1995,1996,Nikos Drakos,Computer Based Learning Unit,University of Leeds.
Copyright © 1997,1998,1999,Ross Moore,Mathematics Department,Macquarie University,Sydney.
The command line arguments were:
latex2html -split=0 roots_of_lisp.tex
The translation was initiated by Dai Yuwen on 2003-10-24 欧几里德对几何的贡献.
``Recursive Functions of Symbolic Expressions and Their Computation by Machine,Part1.’’ Communication of the ACM 3:4,April 1960,pp. 184-195.
当表达式以七个原始操作符中的五个开头时,它的自变量总是要求值的.
以另外两个操作符quote和cond开头的表达式以不同的方式求值. 当 quote表达式求值时,它的自变量不被求值,而是作为整个表达式的值返回. 在 一个正确的cond表达式中,只有L形路径上的子表达式会被求值.
逻辑上我们不需要为了这定义一个新的记号. 在现有的记号中用 一个叫做Y组合器的函数上的函数,我们可以定义递归函数. 可能麦卡锡在写 这篇论文的时候还不知道Y组合器; 无论如何,label可读性更强.
没有实际可用的数,
在麦卡锡的1960 年的Lisp中,做算术是可能的,比如用一个有n个原子的表表示数n.
... 的艺术’’的著名论文中描述了如何做到这点.5
Guy Lewis Steele,Jr. and Gerald Jay Sussman,``The Art of the Interpreter,or the Modularity Complex(Parts Zero,One,and Two),’’ MIT AL Lab Memo 453,May 1978.
... 对它的引用被maplist中的参数x所捕获.6
当代的Lisp程序 员在这儿会用mapcar代替maplist. 这个例子解开了一个谜团: maplist为什 么会在Common Lisp中. 它是最早的映射函数,mapcar是后来增加的.-iis