어떻게이 오류를 해결할 수 있습니까?SignalR 구조체 종속성 해결 프로그램 (Microsoft.AspNet.SignalR.Messaging.IMessageBus에 지정됨)
버전
Microsoft.AspNet.SignalR.Core 2.2.0, 3.1.4.143
은 Global.asax에 signalR 의존성
// SIGNALR DEPENDENCY RESOLVER
GlobalHost.DependencyResolver = new StructureMapSignalRDependencyResolver(Container ?? ObjectFactory.Container);
StructureMapSignalRDependencyResolver
public class StructureMapSignalRDependencyResolver : DefaultDependencyResolver
{
private readonly IContainer _container;
public StructureMapSignalRDependencyResolver(IContainer container)
{
_container = container;
}
public override object GetService(Type serviceType)
{
object service = null;
//Below is a key difference between this StructureMap example, GetInstance is used for concrete classes.
if (!serviceType.IsAbstract && !serviceType.IsInterface && serviceType.IsClass)
{
//If the type is a concrete type we get here...
service = _container.GetInstance(serviceType);
}
else
{
// Non concrete resolution which uses the base dependency resolver if needed.
service = _container.TryGetInstance(serviceType) ?? base.GetService(serviceType);
}
return service;
}
public override IEnumerable<object> GetServices(Type serviceType)
{
var objects = _container.GetAllInstances(serviceType).Cast<object>();
return objects.Concat(base.GetServices(serviceType));
}
}
erorr를 해결 structuremap
없음 기본 인스턴스가 등록되지 않고 자동으로 유형을 판별 할 수없는 'Microsoft.AspNet.SignalR.Messaging.IMessageBus'
1 Microsoft.AspNet.SignalR.Messaging.IMessageBus
에 지정된에는 구성은 없습니다 .) 새로운 AckSubscriber (IMessageBus의 기본, IAckHandler) 2) Microsoft.AspNet.SignalR.Infrastructure.AckSubscriber 3) Microsoft.AspNet.SignalR.Infrastructure.AckSubscriber (4)의 인스턴스의 기본값) 컨테이너 .GetInstance (Microsoft.AspNet.Sig. 나는 임시 찾았지만 오류가 계속
SM 버전 3에서 컨테이너 또는 콘크리트 유형의 'container.TryGetInstance (serviceType)'과의 차이점이 없으므로'return container.TryGetInstance (serviceType); '만 사용하십시오. – LetMeCodeThis
@LetMeCodeThis 같은 것을 생각하지만, 기이하게도 그렇게 단순화하려고 시도했을 때 효과가 없었습니다. – JohnnyHK