![]() |
1
118
您需要实现自定义
给定具有此构造函数签名的服务:
下面是一个可以启动myservice的示例:
在myservice.svc文件中注册myservicehostfactory,或者在代码中直接使用myservicehost进行自托管。 您可以很容易地推广这种方法,事实上一些di容器已经为您完成了这项工作(提示:windsor的wcf工具)。 |
![]() |
2
12
您可以简单地创建
这是一个模型:
以及用法:
我希望这会让一个人的生活更轻松。 |
![]() |
3
10
马克的回答是
您也可以使用自定义属性(例如
然后,将该属性应用于服务实现类
第三个选项:您还可以使用配置文件应用服务行为。 |
![]() |
4
5
我从马克的答案出发,但(至少就我的情况而言),这是不必要的复杂。其中之一
以马克为例,应该是这样的:
|
![]() |
5
3
我把依赖注入和服务定位器模式混合在一起了(但大多数情况下它仍然是依赖注入,甚至发生在构造函数中,这意味着您可以拥有只读状态)。
服务的依赖项在其嵌套的协定中明确指定
我不会因为这种方法而失眠的。其他人也不应该。毕竟,您是ioc容器,它是一个大型的、胖的、静态的委托集合,可以为您创建一些东西。再加一个是什么? |
![]() |
6
0
这是一个非常有帮助的解决方案-特别是对谁是一个新手wcf编码。我确实想发布一些小提示给那些可能将其用于iis托管服务的用户。myServiceHost需要继承 Web服务主机 ,不仅仅是服务主机。
这将为IIS中的终结点创建所有必要的绑定等。 |
![]() |
7
-1
我们面临着同样的问题,并以如下方式解决了它。这是一个简单的解决办法。 在visual studio中,只需创建一个普通的wcf服务应用程序并删除它的接口。保留.cs文件(只需重命名它)并打开该cs文件,用实现服务逻辑的原始类名替换接口的名称(这样服务类使用继承并替换实际实现)。添加调用基类构造函数的默认构造函数,如下所示:
myservice基类是服务的实际实现。此基类不应具有无参数构造函数,而应仅具有接受依赖项的参数的构造函数。 服务应该使用这个类,而不是原始的myservice。 这是一个简单的解决方案,工作起来很有魅力。 |
![]() |
8
-2
我使用我的类型的静态变量。不确定这是不是最好的方法,但对我来说很有效:
当我实例化服务主机时,我会执行以下操作:
|
![]() |
MattT · 添加rowfactory后不显示Javafx表视图 7 年前 |
![]() |
vpetrovic · 具有Autofac依赖项的工厂 7 年前 |
![]() |
Praveen Rai · 创建者在工厂模式中的作用 7 年前 |
|
bschreck · 在不知道类型的情况下返回泛型对象? 7 年前 |
![]() |
tblznbits · 如何在定义全局方法时从继承的类中动态选择子类 8 年前 |
![]() |
nanachimi · 当实现的构造函数具有要注入的依赖项时的工厂模式 8 年前 |
![]() |
satyanarayana · 使用工厂模式在同一表中加载不同的自定义单元格 11 年前 |