我正在使用服务堆栈框架在c#中编写服务。我有这个类InMemoryFileSystem(https://gist.github.com/elixir24/9457433)我试图自动连接。
以下是班级的相关部分
公共类InMemoryFileSystem {
public Dictionary<string, UserFileSystem> clientToFileSystemMap {get;set;}
public DateTime lastcheckpoint { get; set; }
private static readonly log4net.ILog Logger = log4net.LogManager.GetLogger(typeof(InMemoryFileSystem));
public InMemoryFileSystem ()
{
clientToFileSystemMap = new Dictionary<string, UserFileSystem>();
UserFileSystem filesystem = new UserFileSystem();
filesystem.metadata = new UserMetaData("piyush", "password", 1);
UserFile file = new UserFile("/x.txt","piyush");
file.filecontent = Utils.getByteArrayFromString("Filecontent");
filesystem.filemap.Add("/x.txt", file);
this.clientToFileSystemMap.Add("piyush", filesystem);
}
}
InMemoryFileSytem类的对象正在自动连接,但我在其构造函数中初始化的数据成员仍为NULL。我怀疑它的默认构造函数可能仍然被调用。
以下是我使用自动布线的代码 - https://gist.github.com/elixir24/9457490
public class AppHost : AppHostBase
{
public AppHost() : base("Hello Web Services",typeof(CloudFileService).Assembly) { }
public override void Configure(Funq.Container container){
Plugins.Add(new RequestLogsFeature());
this.Config.DefaultContentType = "Json";
container.RegisterAutoWired<InMemoryFileSystem>();
}
}
有人知道可能导致这种情况的原因吗?