Попробуйте либо настроить LogFactory до инициализации ServiceStack, например:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
LogManager.LogFactory = new Log4NetFactory(configureLog4Net: true);
app.UseServiceStack(new AppHost
{
AppSettings = new NetCoreAppSettings(Configuration)
});
}
, либо использовать регистратор экземпляров в своих службах:
public readonly ILog log = LogManager.GetLogger(typeof(ServiceBase));
Выбранный ответ работал у меня, пока я не добавил это значение во временную таблицу вместе с другими в примере:
insert #bla values('1234')
Я ожидал, что мой результат max () будет сейчас 1234, но осталось 789. Возможно, это связано с некоторыми настройками сопоставления, но мне удалось воспроизвести в нескольких базах данных. Я обнаружил, что этот запрос ниже работает для меня, но мне, безусловно, было бы интересно узнать, есть ли более эффективный способ сделать это. Также,
В своей реализации уведомлений используйте код, подобный следующему:
NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
...
Intent intent = new Intent(this, ExampleActivity.class);
intent.putExtra("EXTRA_KEY", "value");
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
nBuilder.setContentIntent(pendingIntent);
...
Чтобы получить дополнительные значения Intent в ExampleActivity, используйте следующий код:
...
Intent intent = getIntent();
if(intent!=null) {
String extraKey = intent.getStringExtra("EXTRA_KEY");
}
...
VERY ВАЖНОЕ ПРИМЕЧАНИЕ: метод Intent :: putExtra () перегружен. Чтобы получить дополнительный ключ, вам нужно использовать метод Intent :: get [Type] Extra () .
Примечание: NOTIFICATION_ID и NOTIFICATION_CHANNEL_ID являются константами, объявленными в ExampleActivity
Прочитав несколько списков адресов электронной почты и другие форумы, я обнаружил, что этот трюк, похоже, добавляет некоторые уникальные данные в намерение.
вот так:
Intent notificationIntent = new Intent(Main.this, Main.class);
notificationIntent.putExtra("sport_id", "sport"+id);
notificationIntent.putExtra("game_url", "gameURL"+id);
notificationIntent.setData((Uri.parse("foobar://"+SystemClock.elapsedRealtime())));
Я не понимаю, зачем это нужно готово, это как-то связано с намерением не может быть идентифицировано только по его дополнениям ...