
应用程序域通常由运行库宿主创建和 *** 作。有时,您可能希望应用程序以编程方式与应用程序域交互,例如想在不停止应用程序运行的情况下卸载某个组件时。
应用程序域使应用程序以及应用程序的数据彼此分离,有助于提高安全性。单个进程可以运行多个应用程序域,并具有在单独进程中所存在的隔离级别。在单个进程中运行多个应用程序提高了服务器伸缩性。
下面的代码示例创建一个新的应用程序域,然后加载并执行以前生成的程序集
HelloWorld.exe,该程序集存储在驱动器
C
上。
C#
复制代码
static
void
Main()
{
//
Create
an
Application
Domain:
System.AppDomain
newDomain
=
System.AppDomain.CreateDomain("NewApplicationDomain")
//
Load
and
execute
an
assembly:
newDomain.ExecuteAssembly(@"c:\HelloWorld.exe")
//
Unload
the
application
domain:
System.AppDomain.Unload(newDomain)
}
应用程序域概述
应用程序域具有以下特点:
必须先将程序集加载到应用程序域中,然后才能执行该程序集。有关更多信息,请参见程序集和全局程序集缓存(C#
编程指南)。
一个应用程序域中的错误不会影响在另一个应用程序域中运行的其他代码。
能够在不停止整个进程的情况下停止单个应用程序并卸载代码。不能卸载单独的程序集或类型,只能卸载整个应用程序域。
C语言具有高级语言的特点,又具有汇编语言的特点,所以可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。其应用范围极为广泛,不仅仅是在软件开发上,各类科研项目也都要用到C语言。下面列举了C语言一些常见的领域。(1)应用软件。Linux *** 作系统中的应用软件都是使用C语言编写的,因此这样的应用软件安全性非常高。
(2)对性能要求严格的领域。一般对性能有严格要求的地方都是用C语言编写的,比如网络程序的底层和网络服务器端底层、地图查询等。
(3)系统软件和图形处理。C语言具有很强的绘图能力和可移植性,并且具备很强的数据处理能力,可以用来编写系统软件、制作动画、绘制二维图形和三维图形等。
(4)数字计算。相对于其他编程语言,C语言是数字计算能力超强的高级语言。
(5)嵌入式设备开发。手机、PDA等时尚消费类电子产品相信大家都不陌生,其内部的应用软件、游戏等很多都是采用C语言进行嵌入式开发的。
(6)游戏软件开发。游戏大家更不陌生,很多人就是由玩游戏而熟悉了计算机。利用C语言可以开发很多游戏,比如推箱子、贪吃蛇等。
1. 上层开发
其实用 C 语言做上层应用程序开发和写界面不是明智的选择,比如 Windows 上面,画个窗口,写个消息处理函数,但是较为麻烦。
2. 底层开发
C 语言主要的用途还是底层编程,例如系统软件:编译器,JVM,驱动, *** 作系统内核,还有各种嵌入式软件,固件。
3. 总结
所以说,C 语言往深了学,要学习 *** 作系统,虽然 C 语言和 *** 作系统之间没有必然联系,但是别忘了,连 *** 作系统都是 C 语言写的,C 语言的主要用途也在底层开发上面。
Application.StartupPath 表示程序启动路径,也就是 EXE 文件所在的文件夹。
在 Debug 模式下一般程序的 EXE 会生成在项目所在目录下的 \bin\debug\。
appdomain和application.startuppath是两个概念:
appdomain是应用程序域,是一个应用程序在其中执行的独立环境;
而application.startuppath则是应用程序可执行文件的目录(也就是生成exe的目录)
扩展资料:
C#对Windows程序最大的卖点可能就是它与COM的无缝集成了,COM就是微软的Win32组件技术.实际上,最终有可能在任何.NET语言里编写COM客户和服务器端。
C#编写的类可以子类化一个已存在的COM组件生成的类也能被作为一个COM组件使用,然后又能使用,比方说,JScript语言子类化它从而得到第三个COM组件。这种现象的结果是导致了一个运行环境的产生,在这个环境里的组件是网络服务,可用任何.NET语言子类化。
参考资料来源:百度百科-c#
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)