일부 백엔드 작업에 사용되는이 서비스 프로젝트가 있습니다. 분명히 서비스를 모니터 할 모니터를 만들고, 그들이 제대로 작동하는지 확인하려고합니다. 나는 모니터를 위해 웹 폼을 사용하고 있으며, Ninject는 속성을 전혀 주입하지 않으려는 것 같다. (객체는 null로 돌아온다.) 그래서, 여기에 고장이다 : 그래서 채우기 위해이 곳의 호텔이 있습니다Ninject가 속성을 전혀 주입하지 않습니다?
[DataContract]
public class UserSummary
{
public UserSummary();
public UserSummary(User user);
[DataMember]
public AccountStatusValue AccountStatus { get; set; }
[DataMember]
public AudienceValue Audience { get; set; }
[DataMember]
public string EmailAddress { get; set; }
[DataMember]
public int ID { get; set; }
[DataMember]
public Guid Identifier { get; set; }
[DataMember]
public Name Name { get; set; }
[DataMember]
public string Username { get; set; }
}
하십시오 datacontract로 하나의 방법에 사용되고있는 모델에서
, 여기에 코드입니다. 다음은이를 호출하는 데 사용되고있는 인터페이스 방법 :
UserSummary GetUserSummaryInternal(string username);
난 그냥가는 모니터를 얻으려고, (모든 것이 작동)가 제대로 구축 다른 부분이 있는가. 이제 다음은 웹 양식 코드입니다.
partial class ServicesMonitor : System.Web.UI.MasterPage
{
[Inject]
IUserManagementService Service { get; set; }
public ServicesMonitor(IUserManagementService service)
{
this.Service = service;
}
public ServicesMonitor()
{
}
protected void Page_Load(object sender, EventArgs e)
{
UserSummary summary = Service.GetUserSummaryInternal("testing993");
string message = "Up";
Response.Write(message);
Response.End();
return;
}
}
Ninject를 사용할 수 없기 때문에 코드 뒤에 코드가 많지 않습니다. 나는 여러 가지 다른 방법을 시도해 보았다. [Inject] 태그를 사용하지 않고, 생성자를 사용하는 등등. 나는 모듈에서 사용하고있는 인터페이스에 적절한 바인딩을 가지고있다.
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<ServiceLibrary.Service.IUserManagementService>().To<ServiceLibrary.Service.UserManagementService>();
kernel.Bind<ServiceLibrary.Service.IIntegrationService>().To<ServiceLibrary.Service.IntegrationService>();
kernel.Load(new List<string> { "ServiceLibrary.dll" });
}
:이 서비스 라이브러리를 사용하는 응용 프로그램에 잘 작동, 나는 또한 아무 소용이 아직 App_Start 폴더에 NinjectWebCommon 파일에 결합하지만 추가했습니다. Ninject는 서비스 라이브러리 프로젝트 내에서 단일 aspx 웹 양식에서 어떻게 작동하지 않을 수 있습니까? 나는 당황 스럽다. ...
웹 프로젝트에'Ninject.Web' 패키지를 추가 했습니까? –
예. 나는이 솔루션에 걸쳐 여러 다른 장소에서 ninject를 사용하고 있으며, 다른 곳에서는 잘 작동하고 있습니다. webform에 속성을 주입하고 싶지 않은 이유가 있습니다. – Skrubb