Вход в TextFile из SharePoint - PullRequest
       4

Вход в TextFile из SharePoint

1 голос
/ 11 июня 2010

Я пытаюсь отладить веб-часть, установленную на клиентском экземпляре SharePoint. Мне нужна была быстрая и простая функция регистрации, поэтому я подумал о записи сообщений в текстовый файл во временном каталоге. Кажется, SharePoint это не нравится, так какие у меня варианты?

Ответы [ 4 ]

1 голос
/ 10 октября 2016

Существует несколько способов пользовательской регистрации в sharepoint -

  1. Использовать SPDiagnosticsService - вы можете писать в ULS через класс SPDiagnosticsService.

  2. Использование веб-службы Diagnics.asmx -

    SharePointDiagnostics SharePointDiagnosticsObject = new SharePointDiagnostics();
    SharePointDiagnosticsObject.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
    string Response = SharePointDiagnosticsObject.SendClientScriptErrorReport(message, file, line, client, stack, team, originalFile);
    

    Для получения более подробной информации об использовании Diagnics.asmx перейдите по следующей ссылке -

    https://vivekkumar11432.wordpress.com/2016/09/23/how-to-do-logging-in-uls-from-csom-in-c/

Подробнее о регистрации смотрите по следующей ссылке -

http://www.codeproject.com/Articles/620996/Five-suggestions-to-implement-a-better-logging-in

Не использовать

Microsoft.Office.Server.Diagnostics.PortalLog.LogString("Message");

Согласно документации Microsoft - LogString зарезервирован для внутреннего использования и не предназначен для использования непосредственно из вашего кода.

1 голос
/ 11 июня 2010

Если вы пишете во временный каталог, вам нужно будет предоставить файл (если он существует) или права на каталог для пула приложений IIS, в котором выполняется приложение SharePoint IIS.

0 голосов
/ 11 июня 2010

Я полагаю, что это проблема с разрешениями, из-за которой SharePoint блокирует вас (и, вероятно, не говорит, что это так).Когда вы пытаетесь записать в текстовый файл на сервере, вам нужно иметь повышенные разрешения для этого.Вы можете сделать это, используя SPSecurity.RunWithElevatedPrivileges.Примерно так: если вам нужно простое решение с небольшим кодом.

SPSecurity.RunWithElevatedPrivileges(delegate() {
    using (StreamWriter sw = new StreamWriter(@"C:\log.txt"))
    {
        //log information here
    }
});
0 голосов
/ 11 июня 2010

Попробуйте систему ведения журналов, такую ​​как log4net, или запишите небольшую структуру ведения журналов, записывая данные во внешнюю базу данных, вы также можете использовать списки для входа, если хотите оставаться внутри sharepoint

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...