Я новичок в ядре asp.net, и у меня возникают проблемы с инъекциями в веб-сервис.
namespace Web.WebServices
{
public class InstallService : IService
{
private SQLContext _context;
public InstallService(SQLContext context)
{
_context = context;
}
public string Fcn(string msg)
{
//Just for testing, the rest of the code is not altering the results
return string.Join(string.Empty, msg.Reverse());
}
}
[ServiceContract]
public interface IService
{
[OperationContract]
string Fcn(string msg);
}
}
Это метод ConfigureService:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSingleton(Configuration);
services.AddDbContext<SQLContext>(options => options.UseSqlServer(Configuration.GetConnectionString("SQLConnection")));
services.AddSoapExceptionTransformer((ex) => ex.Message);
services.AddScoped<IService, InstallService>();
}
И способ настройки:
app.UseSoapEndpoint<InstallService>("/ServicePath.asmx", new BasicHttpBinding());
Теперь проблема, когда я пытаюсь использовать веб-сервис, я получаю ошибку:
"System.ServiceModel.FaultException. Нестатическому методу требуется цель"
И если я удаляю инъекцию, веб-служба работает нормально.
namespace Web.WebServices
{
public class InstallService : IService
{
public string Fcn(string msg)
{
return string.Join(string.Empty, msg.Reverse());
}
}
[ServiceContract]
public interface IService
{
[OperationContract]
string Fcn(string msg);
}
}
И способ настройки сервиса:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSingleton(Configuration);
services.AddDbContext<SQLContext>(options => options.UseSqlServer(Configuration.GetConnectionString("SQLConnection")));
services.AddSoapExceptionTransformer((ex) => ex.Message);
services.AddScoped(new InstallService());
}
Но мне нужно использовать веб-сервис для сохранения данных на SQL Server.
Я почти уверен, что что-то не так, но это не так.