2
在Global.asax中的的Application_Start我有以下你如何解決signalR V2.0與StructureMap V2.6
ObjectFactory.Initialize(cfg => {
cfg.For<IDependencyResolver>().Singleton().Add<StructureMapDependencyResolver> ();
});
我對集線器接口是
public interface IDashboardHub
{
void Initialize();
}
和我的樞紐如下:
public class DashboardHub : Hub, IDashboardHub
{
private readonly ICpeAccountService _accountService;
public DashboardHub(ICpeAccountService service)
{
_accountService = service;
}
[Authorize]
public void Initialize()
{
Clients.All.UpdateStatus("Hello World!!!");
}
}
如果我刪除注入的構造函數和解析器,然後我得到「Hello World」信號和JavaScrip pt顯示值。如果我只是刪除解析器,那麼signalR不再找到無參數的構造函數,並且Initialize方法不會被調用。
如果我包括StructureMap依賴解析器(這是工作,現在注入周圍其他40個班),然後我得到以下異常消息
StructureMap configuration failures: Error: 104
Source: Registry: StructureMap.Configuration.DSL.Registry, StructureMap,
Version=2.6.4.0, Culture=neutral, PublicKeyToken=e60ad81abae3c223
Type Instance '87da3c00-4deb-4334-b189-021d445d95ec'
(Configured Instance of App.DependencyResolution.StructureMapDependencyResolver,
App, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)
Cannot be plugged into type Microsoft.AspNet.SignalR.IDependencyResolver,
Microsoft.AspNet.SignalR.Core, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
另外,如果我嘗試只是解決這一切啓動。 CS,像這樣:
public void Configuration(IAppBuilder app)
{
ObjectFactory.Initialize(cfg =>
{
cfg.For<IDependencyResolver>()
.Singleton()
.Add<StructureMapDependencyResolver>();
});
app.MapSignalR();
}
我也得到同樣的錯誤。
有沒有人能夠解決這個問題?
現貨和一個更清潔的解決方案,然後他在asp.net SignalR示例中給出的。 –
拯救生命,謝謝! –