У меня есть приложение, реализованное с использованием Asp. Net MVC, и в нем есть внешнее промежуточное программное обеспечение, работающее в Global.asax Application_Start, как показано ниже:
public class MvcApplication : System.Web.HttpApplication
{
public static AriClient ActionClient;
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
ListenToAsterisk();
}
public void ListenToAsterisk()
{
ActionClient = new AriClient(
new StasisEndpoint("ServerUrl", "ServerPort", "Username", "Password"),
"AsterHubApp",
true);
ActionClient.OnConnectionStateChanged += ActionClientOnConnectionStateChanged;
ActionClient.OnDialEvent += ActionClientOnDialEvent;
ActionClient.OnChannelStateChangeEvent += ActionClientChannelStateChangeEvent;
ActionClient.OnChannelHangupRequestEvent += ActionClientHangupRequestEvent;
ActionClient.OnDeviceStateChangedEvent += ActionClientDeviceStateChangeEvent;
ActionClient.Connect();
}
Оно работает, но рассмотрите некоторые причины, по которым я решил преобразовать свое приложение в Asp. Net Core, поэтому мне нужно добавить свой AriClient в StartUp приложения.
Поскольку я новичок в Asp. Net Core I не знаю, как мне добавить его в качестве MiddleWare в конфигурацию приложения.
Я попробовал приведенный ниже код, но он не корректен, так как я знаю, так что для большей ясности, что я хочу сделать:
app.UseMiddleware<AriClient>(
actionClient => {
actionClient = new AriClient(
new StasisEndpoint("ServerUrl", "ServerPort", "Username", "Password"),
"AsterApp",
true)
}
);
Большое спасибо за любую помощь.