Mar*_*ark 6 .net wcf initialization
我的WCF服务有问题.我需要在pre application_start之前做一个windsor容器注入,并注意到我可以使用AppInitialise方法.它适用于visual studio调试,但是当我部署到IIS时,代码不会被触发..我按如下方式初始化了类
public static class Class1
{
public static void AppInitialize()
{
IWindsorContainer container;
container = new WindsorContainer("windsor.xml");
container.AddFacility<WcfFacility>();
container.Resolve<ProfileLookUpService>();
}
}
Run Code Online (Sandbox Code Playgroud)
是否需要执行任何特殊任务才能使其在IIS上运行.我正在使用版本6.
谢谢!
嗯,你需要注意几件事:
WCF 服务可以是自托管的 - 它并不总是托管在 IIS 中,因此如果可能的话,不要依赖于 IIS 特定的机制
服务器端的 WCF 服务基本上由一个ServiceHost(或其自定义后代)组成,它初始化 WCF 运行时,并且它将根据需要创建服务类实例来处理请求
所以这实际上取决于你想在哪里注入你的东西 - 我的直觉告诉我你可能对创建自定义 ServiceHost 后代的能力感兴趣,并挂钩它的一些方法和事件来处理你的初始化。
在这里查看一些关于该主题的非常好的文章和博客文章: