2014-08-28 8 views
1

Ранее на этой неделе я столкнулся с сообщением Скотта Гензельмана об обработке фона в ASP.NET (http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx). Я писал процедуры в прошлом, которые автоматически попадают на страницу так часто, чтобы запускать некоторые задачи, но эта идея фоновой обработки - это то, о чем я даже не подумал, и Hangfire (http://hangfire.io/) идеально подходит для моих потребностей в обработке фоновых изображений (главным образом, для отправки сообщений электронной почты) ,Hangfire и VB.NET - настройки, заданные в классе запуска приложений

Чтобы запустить HangFire (после установки через NuGet), мне нужно запустить его в классе запуска приложений. Документация содержит код C#, который я не уверен, как конвертировать в VB.NET. Это похоже на какой-то лямбда-код, о котором я знаком с использованием LINQ, но я не могу быстро понять это.

public void Configure(IAppBuilder app) 
{ 
    app.UseHangfire(config => 
    { 
     config.UseSqlServerStorage("<connection string or its name>"); 
     config.UseServer(); 
    }); 
} 

Это где я начинаю, что в принципе почти ничего, я знаю ... :)

Public Sub Configuration(app As IAppBuilder) 
    'This is where I know this code should go... 
End Sub 

Я оценил бы какое-то направление или объяснение относительно того, что здесь происходит и как переносить этот код на VB.NET. Благодаря!

+0

У меня такое чувство, что этот синтаксис будет похож на концепцию в этом посте, но я до сих пор не уверен, куда идти ... http://stackoverflow.com/questions/1771184/what-is-the-vb -equivalent-of-this-c-sharp-syntax-deal-with-delegates? rq = 1 –

+0

не могли бы вы указать мне на запуск/помощь/образец Hangfire (.Net 4.0). – bjan

ответ

3

Вы должны быть в состоянии написать, что, как:

Public Sub Configure(app As IAppBuilder) 
    Dim act = Sub(config As IBootstrapperConfiguration) 
       config.UseSqlServerStorage("<...>") 
       config.UseServer() 
       End Sub 

    app.UseHangfire(act) 
End Sub 

Более подробную информацию о создании мульти лямбды строки в VB.Net, обратитесь к MSDN.

+0

Отлично, спасибо .... минус точка с запятой после UseServer(), конечно. –

0

Должно быть, я делаю что-то неправильно. Я тоже нашел запись в блоге Скотта довольно интригующей. Я тоже использую VB и испытываю проблемы. Код @rfernandes shared был приветственным сайтом. Однако во время выполнения я получаю сообщение об ошибке.

Вот мой код:

Public Sub Configuration(app As IAppBuilder) 
    Dim act = Sub(config As IBootstrapperConfiguration) 
        config.UseSqlServerStorage("HangfireDb") 
        config.UseServer() 
       End Sub 

    app.UseHangfire(act) 
End Sub 

Ошибка возникает в config.UseSqlServerStorage ("HangfireDb") вызов. Исключено исключение SqlException с сообщением «Колонка, параметр или переменная №5: Не удается найти тип данных datetime2». Я не уверен, что делать с этим.

*** После публикации этого не-ответа я понял, что мне нужно опубликовать отдельный вопрос. См. this Stackoverflow question для остальной части истории.

+0

Где код входит в проект VB.NET/ASP? – George