在远程场景中使用 IOC

2024-02-23

我正在努力让 IOC 在远程场景中工作。我将应用程序服务器设置为发布通过 XML 配置的服务 (SingleCall)。

众所周知,它的工作原理如下:

RemotingConfiguration.Configure(ConfigFile, true);

假设我的服务看起来像这样(伪代码)

public class TourService : ITourService
{
    IRepository _repository;
    public TourService()
    {
         _repository = new SqlServerRepository();   
    }
}

但我更想确定的是:

public class TourService : ITourService
{
    IRepository _repository;
    public TourService(IRepository repository)
    {
         _repository = repository;   
    }
}

在客户端,我们做了类似的事情(再次是伪代码):

(ITourService)Activator.GetObject(ITourService, tcp://server/uri);

这会提示服务器创建我的 TourService 类的新实例...

然而,这似乎效果不佳,因为 .NET 远程基础设施想要了解type它应该发布,但我宁愿指出它如何检索object它应该发布。换句话说,将其路由到例如温莎城堡的 IOC 工艺管道。

目前我对这项任务有点迷失......


如果您要使用温莎城堡,有一个远程处理工具可以帮助您。看看文档 http://www.castleproject.org/container/facilities/trunk/remoting/index.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在远程场景中使用 IOC 的相关文章

随机推荐

  • Subversion 和 CVS 中添加自动内容的标签怎么称呼?

    像 log and version 在签入文件时添加数据 我有兴趣查看其他人以及他们可以提供哪些信息 但除非我知道他们叫什么 否则我无法获得太多信息 Subversion 和 CVS 都称它们为Keywords 在这里查看 SVN 手册 h
  • 窗口函数过滤当前行

    这是后续this https stackoverflow com questions 48000013 optimize slow aggregates in lateral join问题 我的查询被改进为使用窗口函数而不是内部的聚合LAT
  • 你如何制作一个makefile

    我想知道如何为 Unix 创建 makefile 这里有一个好的生成文件教程 http oucsace cs ohiou edu bhumphre makefile html 搜索 如何创建 makefile 后 Google 上的第一个结
  • 修复 Chocolatey“访问被拒绝”的问题

    我刚刚第一次使用安装了 Chocolateythis https i stack imgur com fw9WX png管理员 cmd 中的命令 SystemRoot System32 WindowsPowerShell v1 0 powe
  • dlopen 中对 __dlopen 的未知引用

    dlopen位于libdl a但是当我将我的应用程序链接到libdl a gcc 链接器抛出此错误 unknow reference to dlopen called in dlopen 我应该导入另一个吗 a 当我尝试静态编译时dlope
  • C 将输入文本文件解析为单词

    我正在尝试将输入文件 包含具有多行和分隔符的文本文档 即 解析为单词 我的函数 分割函数 是 int splitInput fp int i 0 char line 255 char array 5000 int x while fgets
  • Java Lambda:迭代 2 个暗淡数组并保持当前索引

    我是 Java 8 的 Lambda 表达式的新手 我想制定以下内容 我有一个二维数组 我想在应用程序代码中对其进行多次迭代 并对数组中的项目进行处理 在我执行以下操作之前 public static abstract class BlaB
  • 将 std::bind 的结果传递给 std::function “重载”

    我有类似的问题在 C 中将不同的 lambda 传递给函数模板 https stackoverflow com questions 40523248 passing different lambdas to function templat
  • 闭包编译器对命名空间枚举发出警告

    以下示例代码生成有关高级优化的编译器警告 JSC UNSAFE NAMESPACE 为命名空间 NS 创建的不完整别名 如果我删除 enum 注释 它不会发出警告 var NS enum string NS type FOO bar NS
  • 如何在 jupyter 笔记本中使用 pandas 分析时修复此错误

    每次我在不同的数据集中使用 pandas 分析时 笔记本都会显示此错误 IndexError 仅整数 切片 省略号 numpy newaxis None 且整数或布尔数组有效 指数 import pandas as pd df pd rea
  • Webpack ProvidePlugin 与外部插件?

    我正在探索使用的想法Webpack http webpack github io with 骨干网 js http backbonejs org 我已经遵循了快速入门指南 并且对 Webpack 的工作原理有了大致的了解 但我不清楚如何加载
  • Web 服务中的例外

    我的小组正在开发一个基于服务的 NET WCF 应用程序 我们正在尝试决定如何处理内部服务中的异常 我们应该抛出异常吗 返回序列化为 XML 的异常 只返回错误码 请记住 用户永远不会看到这些异常 它仅适用于应用程序的其他部分 WCF 用途
  • 对两个表进行 SQL 查询 - 返回一个表中的行,而另一个表中没有条目

    我有两个数据库表 类别和超级类别 用于我正在开发的库存控制系统 类别 ID Category 类别名称 超级类别 ID SuperCategory 类别 ID 超级类别 ID 我将类别 子类别关系放入 SuperCategories 表中
  • 如何用链接替换普通 URL,例如? [复制]

    这个问题在这里已经有答案了 我几乎已经成功了 我想知道是否有much更好的方法 根本问题 https stackoverflow com q 37684 1153319 Fiddle http jsfiddle net 5cr6K func
  • 索引(从零开始)必须大于或等于零

    嘿 我不断收到错误 索引 从零开始 必须大于或等于零且小于参数列表的大小 My code OdbcCommand cmd new OdbcCommand SELECT FirstName SecondName Aboutme FROM Us
  • Firebase 归因跟踪

    我在 归因 gt 网络设置 中添加了一些用于归因跟踪的网络 并添加了这些网络 SDK 但如何从 Firebase 中查看来自特定广告网络的转化 例如first open 如果我去归因 gt 点击first open gt 然后尝试应用过滤器
  • 覆盖使用媒体查询的 MuiTab 等组件

    我正在尝试为 MuiTab 提供 CSS 覆盖以增加字体大小 使用有关material ui上的CSS覆盖的文档 我已经设法增加了大多数元素的字体大小 但是我陷入了使用媒体查询的元素 因为它们产生比我通过覆盖提供的规则更具体的CSS规则 主
  • 无法在android compose Material3中使用rememberScaffoldState()

    我想用 记住脚手架状态 在android Material3 compose中 但无法使用它 OptIn ExperimentalMaterial3Api class Composable fun AppFeatureScreen view
  • 在 Visual Studio xml 编辑器中输入时如何跳过右引号?

    我喜欢在 Visual Studio xml 编辑器中自动插入引号 但我还没有找到一种简单的方法来跳过第二个引号 而无需将手移至光标键或按 End 键 当值是字符串时 是否有更简单的方法跳过第二个引号 如果值是枚举 Intellisense
  • 在远程场景中使用 IOC

    我正在努力让 IOC 在远程场景中工作 我将应用程序服务器设置为发布通过 XML 配置的服务 SingleCall 众所周知 它的工作原理如下 RemotingConfiguration Configure ConfigFile true