רישום משמש לניפוי באגים, כמו גם לאיסוף וניתוח מידע עבודה על האפליקציה. מידע זה נכתב לקובץ הנקרא יומן. קובצי יומן מכילים מידע מערכת על פעולת יישום הלקוח, למשל, פעולות משתמש או תוכנית.
במאמר זה נסקור כיצד להגדיר רישום פעילות של לקוח EWS באמצעות C# .NET.
- C# .NET API לעבודה עם שירותי האינטרנט של MS Exchange
- אפשר רישום פעילויות באמצעות קובץ App.config
- אפשר רישום פעילויות באמצעות קובץ appsettings.json
- אפשר קוד תוכנית התחברות לפעילות
- דוגמה למידע על קובץ יומן
C# .NET API לעבודה עם שירותי האינטרנט של MS Exchange
כדי לנהל את שירותי האינטרנט של MS Exchange, נשתמש ב-Aspose.Email for .NET.
זהו API רב עוצמה המאפשר גישה לשירותים שונים של MS Exchange Server בצורה חלקה. כמו כן, הוא מספק הרבה תכונות ליישום יישומי לקוח דואר אלקטרוני.
אתה יכול להוריד את ה-DLL של ה-API או להתקין אותו מ-NuGet באמצעות הפקודה הבאה.
PM> Install-Package Aspose.Email
אפשר רישום פעילויות באמצעות קובץ App.config
אפשרות זו מתאימה ליישומים שבהם app.config
היא הדרך המועדפת לשמירה על תצורת האפליקציה.
להלן השלבים לאפשר כניסה ל-EWSClient ב-C#.
- ראשית, הוסף קובץ תצורה של יישום לפרויקט C#, אם הוא לא התווסף בעבר.
- לאחר מכן, הוסף את התוכן הבא לקובץ התצורה.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Aspose.Email.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<Aspose.Email.Properties.Settings>
<setting name="EWSDiagnosticLog" serializeAs="String">
<value>..\..\..\Log\Aspose.Email.EWS.log</value>
</setting>
<setting name="EWSDiagnosticLog_UseDate" serializeAs="String">
<value>False</value>
</setting>
</Aspose.Email.Properties.Settings>
</applicationSettings>
</configuration>
אנו יכולים לראות שני סעיפי הגדרות:
EWSDiagnosticLog
- מציין את הנתיב היחסי או המוחלט לקובץ היומן.EWSDiagnosticLogUseDate
- מציין אם להוסיף ייצוג מחרוזת של התאריך הנוכחי לשם קובץ היומן.
אפשר רישום פעילויות באמצעות קובץ appsettings.json
אפשרות זו מועדפת עבור יישומי .NET Core.
להלן השלבים לאפשר כניסה ל-EWSClient ב-C#.
- ראשית, הוסף קובץ תצורה של ‘appsettings.json’ לפרויקט C#, אם הוא לא התווסף בעבר. ודא שקובץ הפרויקט מכיל את השורות הבאות בקטע ItemGroup:
<Content Include="appsettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
- לאחר מכן, הוסף את התוכן הבא לקובץ appsettings.json.
{
"EWSDiagnosticLog": "ews.log",
"EWSDiagnosticLog_UseDate": true
}
אנו יכולים לראות שני מאפיינים:
EWSDiagnosticLog
- מציין את הנתיב היחסי או המוחלט לקובץ היומן.EWSDiagnosticLogUseDate
- מציין אם להוסיף ייצוג מחרוזת של התאריך הנוכחי לשם קובץ היומן.
אפשר קוד תוכנית התחברות לפעילות
אתה יכול גם לאפשר התחברות מיידית בקוד. הערה: גם אם כבר הפעלת רישום באמצעות קובצי תצורה, אפשרות זו תיושם.
להלן השלבים לאפשר כניסה ל-EWSClient ב-C#.
- ראשית, צור EWSClient.
- שנית, הגדר את הנתיב לקובץ היומן באמצעות המאפיין LogFileName.
- לבסוף, הגדר את המאפיין UseDateInLogFileName אם יש צורך בכך.
using (var client = EWSClient.GetEWSClient("https://outlook.office365.com/EWS/Exchange.asmx", credentials))
{
client.LogFileName = @"Aspose.Email.EWS.log";
client.UseDateInLogFileName = false;
}
דוגמה למידע על קובץ יומן
להלן דוגמה לערכים של קובץ יומן כאשר מופעלת השיטה ListMessages. לפני כל ערך חדש קודמת חותמת זמן.
ניתן להבחין בין הערכים הבאים בקובץ היומן:
- כותרת קובץ יומן. כולל גרסת Aspose.Email, שם ושעת התחלה.
Aspose.Email for .NET [22.10.0.0] EWS Client diagnostic log
Started: 07.11.2022 13:40:16
- בקשת SOAP לשרת.
07.11.2022 13:40:16 <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ExchangeImpersonation xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<ConnectingSID>
<SmtpAddress>someaddress@someorg.onmicrosoft.com</SmtpAddress>
</ConnectingSID>
</ExchangeImpersonation>
<RequestServerVersion xmlns="http://schemas.microsoft.com/exchange/services/2006/types" Version="Exchange2013" />
</soap:Header>
<soap:Body>
<FindItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" Traversal="Shallow">
<ItemShape>
<BaseShape xmlns="http://schemas.microsoft.com/exchange/services/2006/types">IdOnly</BaseShape>
</ItemShape>
<IndexedPageItemView MaxEntriesReturned="2147483647" Offset="0" BasePoint="Beginning" />
<ParentFolderIds>
<DistinguishedFolderId xmlns="http://schemas.microsoft.com/exchange/services/2006/types" Id="inbox" />
</ParentFolderIds>
</FindItem>
</soap:Body>
</soap:Envelope>
- כותרות תגובת HTTP
07.11.2022 13:40:18 Cache-Control: private
Transfer-Encoding: chunked
Server: Microsoft-IIS/10.0
request-id: 5c777b61-e3d9-c262-fbb0-6f071d9ff68a
Alt-Svc: h3=":443", h3-29=":443"
X-CalculatedFETarget: CH0PR03CU015.internal.outlook.com, BL0PR02CU002.internal.outlook.com
X-BackEndHttpStatus: 200, 200, 200
Set-Cookie: exchangecookie=bf07039c0ee942438170c2958ca2d330; expires=Tue, 07-Nov-2023 10:40:17 GMT; path=/; secure; HttpOnly
X-CalculatedBETarget: BLAPR10MB4915.namprd10.PROD.OUTLOOK.COM
X-RUM-Validated: 1
x-ms-appId: 3fe84e63-c57b-48eb-ab41-879415751cfd
Restrict-Access-Confirm: 1
x-EwsHandler: FindItem
X-AspNet-Version: 4.0.30319
X-BeSku: WCS6
X-DiagInfo: BLAPR10MB4915
X-BEServer: BLAPR10MB4915
X-Proxy-RoutingCorrectness: 1
X-Proxy-BackendServerStatus: 200
X-FEProxyInfo: AS9PR06CA0693.EURPRD06.PROD.OUTLOOK.COM
X-FEEFZInfo: DHR
X-FEServer: BL0PR02CA0063, CH0PR03CA0449, AS9PR06CA0693
X-FirstHopCafeEFZ: DHR
X-Powered-By: ASP.NET
Date: Mon, 07 Nov 2022 10:40:17 GMT
Content-Type: text/xml; charset=utf-8
- תגובת שרת SOAP.
07.11.2022 13:40:18 <?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ExchangeImpersonation xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<ConnectingSID>
<SmtpAddress>someaddress@someorg.onmicrosoft.com</SmtpAddress>
</ConnectingSID>
</ExchangeImpersonation>
<RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ItemShape>
<BaseShape xmlns="http://schemas.microsoft.com/exchange/services/2006/types">IdOnly</BaseShape>
<AdditionalProperties xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
<FieldURI FieldURI="item:Attachments" /><FieldURI FieldURI="item:DateTimeCreated" />
<FieldURI FieldURI="item:DateTimeReceived" /><FieldURI FieldURI="item:DateTimeSent" />
<FieldURI FieldURI="item:IsDraft" /><FieldURI FieldURI="item:IsFromMe" />
<FieldURI FieldURI="item:HasAttachments" /><FieldURI FieldURI="item:IsUnmodified" />
<FieldURI FieldURI="item:ItemClass" /><FieldURI FieldURI="item:IsSubmitted" />
<FieldURI FieldURI="item:IsResend" /><FieldURI FieldURI="item:DisplayCc" /><FieldURI FieldURI="item:DisplayTo" />
<FieldURI FieldURI="item:Attachments" /><FieldURI FieldURI="item:LastModifiedTime" />
<FieldURI FieldURI="item:Size" /><FieldURI FieldURI="item:Subject" />
<FieldURI FieldURI="item:InternetMessageHeaders" /><FieldURI FieldURI="message:IsRead" />
<FieldURI FieldURI="message:InternetMessageId" /><FieldURI FieldURI="message:Sender" />
<FieldURI FieldURI="message:CcRecipients" /><FieldURI FieldURI="message:ToRecipients" />
<FieldURI FieldURI="message:BccRecipients" /><FieldURI FieldURI="message:From" />
</AdditionalProperties>
</ItemShape>
<ItemIds>
<ItemId
Id="AAMkAGJhZjYzY2I5LTdjYWMtNGFmMC05ODI1LTA5MTAzYTgwZTc4OQBGAAAAAABdN1MC60QcSpWwPYUTPhL2BwATlR+p0q0wT6WD0+d4WJhWAAAAAAEMAAATlR+p0q0wT6WD0+d4WJhWAACp2kv8AAA="
xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</ItemIds>
</GetItem>
</soap:Body>
</soap:Envelope>
קבל רישיון API בחינם
אתה יכול לקבל [רישיון זמני] בחינם9 לשימוש ב-Aspose.Email עבור .NET ללא מגבלות הערכה.
סיכום
במאמר זה למדת כיצד להגדיר רישום פעילות בלקוח EWS באמצעות C#. תכונה זו מאפשרת לך ניטור טוב יותר של יישום הלקוח שלך. בנוסף, אתה יכול לחקור את התיעוד כדי לקרוא עוד על Aspose.Email for .NET. כמו כן, אתה יכול לשאול את השאלות שלך דרך הפורום שלנו.