IIS托管的Wcf服务可以用汇编解析吗?

时间:2011-04-11 12:39:34

标签: c# wcf iis hosting

是否可以通过iis托管的wcf服务中的程序集解析事件加载程序集。我不希望通过GAC或bin文件夹加载程序集。可能吗?感谢。

1 个答案:

答案 0 :(得分:0)

我认为您不能使用AppDomain.AssemblyResolve事件,但您可以尝试using MEF使用DirectoryCatalog解决实际实施问题。

所以你的SVC代码背后(或者你可以删除后面的代码并将你的SVC指向一个单独的程序集中的类)看起来像这样(未经测试)。我没有尝试过这种特定方法,但我认为没有任何理由不起作用。

public class YourServiceClass : YourServiceContract
{
    [Import]
    private IContract Implementation { get; set; }

    private DirectoryCatalog _directoryCatalog = null;
    private CompositionContainer _container = null;

    public YourServiceClass()
    {
        _directoryCatalog = new DirectoryCatalog(YourDirectoryPathHere);
        _container = new CompositionContainer(_directoryCatalog);
        _container.ComposeParts(this);
    }

    //Operation
    public void DoSomething()
    {
        Implementation.DoSomething();
    }
}

如果有意义的话,您也可以将MEF代码移动到基类。如果您是MEF的新手,请参阅教程using MEF with a DirectoryCatalog