繁体   English   中英

WCF服务作为单独的库-带Ninject的DI

[英]WCF Service as a separate library - DI with Ninject

这是我的项目图(快捷方式)。 我正在使用Ninject解决我的解决方案中的DI。

  • MyWCFService
    • App_Start
      • NinjectWebCommon.cs
    • web.config
  • 朋友实现
    • Friends.svc
      • Friends.svc.cs
  • 朋友合同
    • IFriends.cs
  • DAL实施
    • Blebleble.cs
  • DAL合同
    • IBlebleble.cs

我在Friends.Implementation库中的WCF服务有问题。

当我在MyWCFService中具有MyWCFServiceMyWCFService文件时,一切正常(DI和Ninject MyWCFService )。

但是,当我将“朋友”服务移到单独的库中时,出现此错误:

提供的服务类型没有默认的(无参数)构造函数,因此无法作为服务加载。 要解决此问题,请向类型添加默认构造函数,或将类型的实例传递给主机。

为什么会出现该错误? 怎么解决呢?

这是我的服务代码:

<%@ ServiceHost Language="C#" Debug="true" Service="XYZ.Services.Friends" CodeBehind="Friends.svc.cs" Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory" %>

.CS文件

    public IAccountService accountService { get; set; }
    public IFriendsService friendsService { get; set; }

    public Friends(IAccountService _acc, IFriendsService _friends)
    {
        this.accountService = _acc;
        this.friendsService = _friends;
    }

问候。

对于单独库中的服务,应从ServiceHost删除CodeBehind="Friends.svc.cs"属性,并且Service属性应与服务实现的标准程序集名称匹配

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM