[英]Inter project (class library) communication in .Net
假设我有一个使用 Visual Studio MVC 模板创建的简单 web 应用程序项目,以及在 web 项目中引用的 class 库项目。
现在,当 web 应用程序调用 class 库中的方法时,它在后台使用哪种协议进行此类通信? 是 TCP/IP 还是命名为 Pipe? 它使用哪个端口?
协议通常用于进程间通信。
.NET 中的引用库用于进程内操作。 您的库A
已编译并具有公共 API 及其签名(公共方法/属性)。 您的 MVC 项目 output(也是一个库)针对库A
进行编译,它解析了 MVC 库中调用的所有方法的签名。 在运行时,这两个库都加载到AppDomain
中并存在于单个进程中,所有签名都被解析。 这称为“早期绑定”
此外,您可以使用后期装订
string s = "param";
dynamic x = new SomeClass();
x.SomeMethod(s);
在上面的示例中, SomeMethod
在编译期间未解析。 它将在运行时被搜索和解决。
后期或早期绑定都是同一过程的一部分,不需要任何协议。 但是,如果您有多个进程并且需要在它们之间进行通信 - 那么您可以使用数据库、文件、协议、Memory 映射文件等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.