Конечно, вы можете, что вы не можете сделать, это передать более одной переменной (например, eventHub.$emit('test_emit', true, false)
, так как $ emit принимает только один дополнительный параметр (это может быть значение или объект, содержащий ассоциации ключ: значение, также известные как полезной нагрузки .
Во-первых, необходимо будет изменить web.config, где виртуальный каталог SharePoint находится. Это вызвано тем, что необходимо будет добавить записи SafeControl для доверия log4net блоку. Можно обновить web.config программно с помощью класса SPWebConfigModification в получателе функции. Поскольку необходимо изменить web.config так или иначе, можно хотеть рассмотреть включая конфигурацию log4net внутри и не настроить внешнюю конфигурацию log4net.
Однако, если все еще требуется сделать это, это может работать, если Вы добавляете следующее к web.config файлу:
<configuration ...>
...
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net configSource="log4Net.config">
...
</configuration>
log4net.config файл должен затем смочь жить вместе с Вашим web.config. Как Nat говорит, Вы могли развернуть этот файл как пакет решений.
Принятие Вас пытается выполнить минимальное доверие, необходимо будет обновить файл Безопасности доступа к коду для включения log4net блоков также. Весь Ваш пользовательский код SharePoint должен затем автоматически использовать Вашу log4net конфигурацию.
Вы могли выпустить файл конфигурации как часть пакета (пакетов) решений к 12 ульям (используйте STSDev) для создания любых пакетов). Это дало бы Вам, местоположение набора для конфигурации и любых изменений в ней может быть выпущено управляемым способом (т.е. никакая потребность в руководстве editm, просто откатывать и переустанавливать решение).
Я реализовал это недавно и придумал решение, которое сработало для меня.
Разверните файл конфигурации log4net в куст 12 и dll log4net в GAC, используя решение с глобальным охватом. Затем в коде вашего приложения явно инициализируйте log4net из местоположения вашего глобального файла. Это позволяет вам регистрировать приемник функций, задания таймера и код веб-приложения.
[assembly: log4net.Config.XmlConfigurator(ConfigFile =
@"C:\Program Files\Common Files\Microsoft Shared\" +
@"Web Server Extensions\12\CONFIG\log4net.config", Watch = true)]
см. Здесь http://www.codeproject.com/KB/sharepoint/SharepointLog4Net.aspx
Я разработал функцию log4net и упаковал ее в файл wsp. Приемник функции добавляет httpmodule в web.config, а httpmodule загружает log4net.config из каталога макетов, когда в модуле http возникает событие запуска приложения.