私はautofacを初めて使用するので、ばかげた質問をしていたら申し訳ありません。
次のインターフェイスとクラスを持っているコンストラクターに引数を渡すのに問題があります。
interface IMyService
{
string GetVersion();
}
class MyService : webService, IMyService
{
public MyService(string serverPath)
: base(serverPath){}
public string GetVersion() { return "1.0"; }
}
これは私が物事を設定する方法です:
public static class AutofacManager
{
public static IContainer Container { get; set; }
public static void Configure()
{
var builder = new ContainerBuilder();
builder.RegisterType<string>();
builder.Register<MyService>((c, p) => new MyService(c.Resolve<string>(p))).As<IMyService>();
Container = builder.Build();
}
}
そして、私はこのようなオブジェクトを使用しています:
var ws = Container.Resolve<IMyService>(Autofac.TypedParameter.From<string>(url));
var ver = ws.GetVersion();
問題は、空の文字列がコンストラクターに渡されることです。URL変数を渡すと思っていました。
ヘルプ?ありがとう