Я делаю приложение, используя ServiceStack. Я мог бы вводить объект без проблем, но, объект может быть изменен вне класса обслуживания, поэтому, мне нужно повторно вводить снова Вот код:Service Stack inject object
public class ClientManager: ApplicationContext{
public ClientManager(AppConfig appConfig)
{
_appConfig = appConfig;
_activeForm = LayoutFactory(appConfig.Layout);
var appHost = new AppHost(_activeForm, _appConfig);
var listeningOn = string.Format("http://*:{0}/", new Uri(appConfig.UrlBroker).Port);
appHost.Init();
appHost.Start(listeningOn);
var timerMetadata = new Timer(CheckMetadata, null, 0, 60000);
}
}
public class AppHost : AppSelfHostBase
{
private ILayout _layout;
private AppConfig _appConfig;
public AppHost(ILayout activeForm, AppConfig appConfig)
: base("ClientService", typeof(ClientService).Assembly)
{
_layout = activeForm;
_appConfig = appConfig;
}
public override void Configure(Container container)
{
container.Register("activeForm", _layout);
container.Register("config", _appConfig);
}
}
public class ClientService : Service
{
public HttpResult Post(Person request)
{
HttpResult response = new HttpResult();
_initConf = ServiceStackHost.Instance.Container.ResolveNamed<AppConfig>("config");
}
}
Итак, класс ClientManager имеет резьбу, которая может изменять объект appConfig и activeForm (эти объекты вводятся в класс службы) Теперь, если я изменяю объект, он не вводит его снова. Я думаю, что я должен распорядиться AppHost и начать его снова, что вы думаете? Спасибо
Спасибо за ваш комментарий. Я сделал это, как вы рекомендовали. он все еще работает нормально (объект вводится в класс обслуживания). Но, если я модифицирую объект в классе ClientManager, в классе службы я не вижу, как объект обновляется. –
Не видите, как это возможно, он должен вводить один и тот же экземпляр, он не может создать новый Например, он не знает, как это сделать. Вы уверены, что вы изменяете экземпляр, а не просто переназначаете его, потому что это не изменит экземпляр. – mythz
Извините, я присваивал неправильные данные в экземпляр .. спасибо! –