如何将对象注入到 WCF 服务中

2024-01-27

如果我有这样的服务定义/实现:

using System;
using System.ServiceModel;

namespace aspace.service
{
  [ServiceContract(Namespace = "http://aspace.service")]
  public interface IUpdate
  {
    [OperationContract]
    ConfirmationMessage UpdatePerson(string PersonIdentifier);
  }
}

public class UpdateService : IUpdate
{
    public ConfirmationMessage UpdatePerson(string PersonIdentifier)
    {
        // some implementation here
    }
}

我可以像这样创建一个服务主机:

ServiceHost host = new ServiceHost(typeof(UpdateService), someEndpointAddress);

然后,在创建绑定并添加元数据行为后,我可以打开主机。它将根据客户端的请求调用 UpdatePerson(aPersonIdentifier)。

我想与 UpdatePerson 的数据库进行对话。答复我之前的一个问题 https://stackoverflow.com/questions/878047/database-access-from-everywhere-in-application建议我应该使用依赖注入来处理这类事情。

问题是我从未创建 UpdateService 类的实例。那么如何注入依赖项呢?你会如何解决这个问题?

谢谢,问候,米尔。


看看实例提供者 http://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.iinstanceprovider.aspx界面。基本上你需要实现这个接口并在方法中获取实例 http://msdn.microsoft.com/en-us/library/ms587089.aspx自己实例化 WCF 类并提供任何依赖项。

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

如何将对象注入到 WCF 服务中 的相关文章

  • 如何为WCF服务创建重定向?

    我的网站 A 上托管了一个 WCF 服务 我还有另一个网站 B 它使用 IIS URL 重写将所有请求重定向到我的网站 A 但是 站点 B 不处理任何对 svc 文件的请求 返回 404 not find 知道如何让它发挥作用吗 UPD重定
  • 如何使用 openSSL 函数验证 PEM 证书的密钥长度

    如何验证以这种方式生成的 PEM 证书的密钥长度 openssl genrsa des3 out server key 1024 openssl req new key server key out server csr cp server
  • C# 中一次性对象克隆会导致内存泄漏吗?

    检查这个代码 class someclass IDisposable private Bitmap imageObject public void ImageCrop int X int Y int W int H imageObject
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • 为什么这个 makefile 在“make clean”上执行目标

    这是我当前的 makefile CXX g CXXFLAGS Wall O3 LDFLAGS TARGET testcpp SRCS main cpp object cpp foo cpp OBJS SRCS cpp o DEPS SRCS
  • Makefile 和 .Mak 文件 + CodeBlocks 和 VStudio

    我对整个 makefile 概念有点陌生 所以我对此有一些疑问 我正在 Linux 中使用 CodeBlocks 创建一个项目 我使用一个名为 cbp2mak 的工具从 CodeBlocks 项目创建一个 make 文件 如果有人知道更好的
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 条件类型定义

    如果我有一小段这样的代码 template
  • C# 获取数据表中所有重复行的计数

    我通过运行存储过程来填充数据集 并且从数据集中填充数据表 DataSet RawDataSet DataAccessHelper RunProcedure storedprocedureName this will just return
  • 如何在 Javascript 中连接 C# ActiveX 事件处理程序

    我尝试使用几个代码片段将 ActiveX 对象与 Javascript 事件处理程序挂钩 我无法确定为什么事件处理程序没有被调用 带有项目的 Github 存储库 https github com JesseKPhillips Csharp
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • 在哪里可以找到 Microsoft.Build.Utilities.v3.5

    如何获取 Microsoft Build Utilities v3 5 我正在使用 StyleCop 4 7 Stylecop dll 中的 StyleCop msbuild 任务似乎依赖于 Microsoft Build Utilitie
  • C:设置变量范围内所有位的最有效方法

    让我们来int举个例子 int SetBitWithinRange const unsigned from const unsigned to To be implemented SetBitWithinRange应该返回一个int其中所有
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • React Hooks:在 Socket.io 处理程序内部调用时状态未更新

    const questionIndex setQuestionIndex useState 0 socket on next gt console log hey setQuestionIndex questionIndex 1 useEf
  • 使用 ptrace 解析 Call 和 Ret。

    我尝试使用 ptrace 解析可执行文件中的所有 Calls 和 Rets 符合x64操作码 http ref x86asm net coder64 html 我找到了操作码呼叫 0xe8并为重试 0xc3 0xc2 0xca 0xcb 自
  • Slurm 多处理 Python 作业

    我有一个 4 节点 Slurm 集群 每个节点有 6 个核心 我想提交一个利用多重处理的测试 Python 脚本 它会生成打印正在运行的节点的主机名的进程 如下所示 def print something print gethostname
  • 仅限水平滚动!

    我有一个包含水平菜单的菜单 菜单由无序列表组成 我希望每当菜单超出宽度时 div 都会获得水平滚动条 div 我尝试使用这些 CSS 定义 div position absolute width 380px overflow auto ov
  • 输入“用户|未定义”不可分配给类型“用户”

    用户控制器 import User from user export class UserController public static async getuser ctx BaseContext const userRepository
  • Safari 中的 CSS 过渡变换 z-index 冲突(适用于 Chrome / FF)

    我正在尝试使用 CSS 过渡和旋转效果来显示名片 我在 Chrome 和 FF 中一切正常 但在 Safari 中它扭曲了 div 我尝试应用以下属性但无济于事 transform translateZ 0px transform styl
  • d3 力定向图中的缩放和刷动

    我在执行缩放时让 D3 执行正确的刷牙时遇到问题 我在这里创建了一个 jsFiddlehttp jsfiddle net Gwp25 2 http jsfiddle net Gwp25 2 用我在其他地方找到的一些虚拟数据显示网络 接下来的
  • 以编程方式将音乐添加到 iOS

    假设我想创建一个从互联网下载音乐文件的 iOS 应用程序 那么是否可以将此音乐文件放在音乐库中以便我可以播放它 这是不可能的 将音乐添加到资料库的唯一方法是通过 iTunes 或 iTunes Store 应用程序 即使您确实找到了一种方法
  • 通过使用 React 按钮设置状态来循环遍历数组中的对象

    所以我有一些想要循环浏览的数据 const data names name Jordan additional data name Holly additional data name Sean additional data Using
  • 使用 PrintDocument 打印多页

    我正在尝试打印发票 发票应该能够在多页上打印 但这就是问题出现的地方 我可以在单页上完美地打印发票 但是一旦发票不适合在单页上打印 打印作业就会退出第一页 这是我正在使用的代码 artikelen 是文章列表 List 我读过几个类似的例子
  • 生产环境中的 Rails 服务器如何工作?

    我想知道 总的来说 它更像 PHP 它加载到内存中 执行 然后在每次连接时终止 或者像 Node js 单个实例保留在内存中并接受所有请求 从技术上讲是后者 但根据应用程序服务器 可以将其设置为look喜欢前者 因为前者更容易管理 Phus
  • 如何在 Dropwizard(泽西岛)中记录 JSON 响应

    我想知道如何配置 Dropwizard 来记录 JSON 响应 在 Service 子类 例如 HelloWorldService 的 run 方法中 添加 environment setJerseyProperty ResourceCon
  • pthread的调度方法?

    由于没有显式调度 pthread 被调度为由内核以随机方式运行 pthread 库中是否定义了相同的调度方法 例如优先级 线程的优先级被指定为增量 该增量被添加到进程的优先级上 更改进程的优先级会影响该进程中所有线程的优先级 线程的默认优先
  • 如何向 DetailDisclosureButton 添加标签文本?

    我正在使用 iOS Swift 2 0 应用程序 我一生都无法弄清楚如何将文本设置在右侧UITableViewCell就在披露指示符 V 形之前 除了创建自定义cell accessoryView 这是 设置应用程序 的屏幕截图 它正是我想
  • PHP 命令,未找到

    我尝试安装composer通过 PHP 命令 如 getcomposer 站点中所述 但 bash 抛出错误 bash php command not found 所以我在谷歌上搜索了一下 我得到了一些答案 1 添加php二进制文件路径 P
  • C# 中灵活的日志记录接口设计

    我想编写自己的日志记录类 用 C 编写 它实现一个标准接口 我可以从代码的任何部分调用该接口 我的想法是让多个 Log 类实现 Logger 接口 每个类都有其特定的日志目的地 例如 FileLogger 将实现记录到文件 TextBox
  • 从 scala 访问公共静态 java 方法

    我正在尝试在这里使用 Java facebook 库http restfb com publishing http restfb com publishing在 scala play2 应用程序中 但是当尝试调用静态时with下面的方法 它
  • 我该如何修复 AttributeError: 'dict_values' 对象没有属性 'count'?

    这是我的code http pastebin com tzPpqE97文本文件是here http www dropbox com s 2bklv7p4ylq8wur web graph zip dl 0http import networ
  • IBM MQ v8 和 Glassfish 本地设置端口配置问题

    给出以下本地设置 IBM WebSphere MQ Advanced for Developers V8 0 帕亚拉4 1 2 172 我想通过默认端口 1414 以外的 JMS 连接到本地队列管理器 尽管我向连接工厂添加了几个属性来配置端
  • 如何将对象注入到 WCF 服务中

    如果我有这样的服务定义 实现 using System using System ServiceModel namespace aspace service ServiceContract Namespace http aspace ser