ItsClemi / ews-managed-api

https://www.nuget.org/packages/Exchange.WebServices.NETCore
Other
5 stars 1 forks source link

Wierd headers while deleting ? #12

Closed TiboLR34 closed 4 months ago

TiboLR34 commented 7 months ago

Hi

I'm trying to delete appointments year by year.

I had an exception raised at 150 occurences. I activated my service logging and found this wierd header going out EWS library :

`11/03/2024 01:15:16 EwsRequestHttpHeaders : <?xml version="1.0" encoding="utf-16"?>

POST /EWS/Exchange.asmx HTTP/1.1 Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate Accept-Encoding: gzip Accept-Encoding: deflate X-ClientStatistics: MessageId=200fbd8b-8958-4ec9-905a-a152dc08d345,ResponseTime=466,SoapAction=GetFolder; X-ClientStatistics: MessageId=4d3febc8-7719-493d-93dc-8d95d6a0ab36,ResponseTime=732,SoapAction=FindItem`1; X-ClientStatistics: MessageId=d6463940-419b-4836-aab6-7f651bf2d655,ResponseTime=66,SoapAction=GetItem; X-ClientStatistics: MessageId=5cb9fffc-b301-4364-8ae8-c6cb15a17c42,ResponseTime=115,SoapAction=DeleteItem; X-ClientStatistics: MessageId=77e8dabf-b890-4ec3-b43c-a60bfca2b0fe,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=9ed61a6d-2d0b-42e5-9f64-c666d09f71af,ResponseTime=105,SoapAction=DeleteItem; X-ClientStatistics: MessageId=b8c61717-860b-4c4d-b95c-bb6fa99662ea,ResponseTime=74,SoapAction=GetItem; X-ClientStatistics: MessageId=4d7b3eaf-7bd7-44af-8427-3f19abe14de8,ResponseTime=116,SoapAction=DeleteItem; X-ClientStatistics: MessageId=bea34ceb-c378-43ad-a6db-83019981483f,ResponseTime=133,SoapAction=DeleteItem; X-ClientStatistics: MessageId=503b47c3-99c8-4a1b-97ad-c02ed4e74ce5,ResponseTime=99,SoapAction=DeleteItem; X-ClientStatistics: MessageId=2d74907d-8fad-48d8-bc6f-fa5564b84c01,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=135159cd-4296-45f2-953c-7bbef6b3173b,ResponseTime=99,SoapAction=DeleteItem; X-ClientStatistics: MessageId=aa78cbaa-8328-4072-855c-7016ae2d0f36,ResponseTime=121,SoapAction=DeleteItem; X-ClientStatistics: MessageId=88a40708-8878-4ffe-a46c-69615c5842b9,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=fec87077-8a0a-43f6-8662-898322462d4a,ResponseTime=74,SoapAction=GetItem; X-ClientStatistics: MessageId=c9cf3b26-eda0-4974-bea1-2335e8455f3e,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=f84dd8e6-f62e-4be3-bffe-dfda3c355901,ResponseTime=122,SoapAction=DeleteItem; X-ClientStatistics: MessageId=ea92dd09-8071-4e12-921c-16ca9f16145e,ResponseTime=157,SoapAction=DeleteItem; X-ClientStatistics: MessageId=6c33928b-6038-4c55-bf92-a42abc55ab31,ResponseTime=102,SoapAction=DeleteItem; X-ClientStatistics: MessageId=908c0fb1-3fff-48f1-8463-b622b062954e,ResponseTime=97,SoapAction=DeleteItem; X-ClientStatistics: MessageId=92a2f86e-c43f-4171-b516-2ab94aa66505,ResponseTime=76,SoapAction=GetItem; X-ClientStatistics: MessageId=cf1f353f-9f4b-48f4-a7c8-91f93e088d45,ResponseTime=114,SoapAction=DeleteItem; X-ClientStatistics: MessageId=7cc2edc8-5b5a-4d9a-a9e1-70c6a5c62a27,ResponseTime=108,SoapAction=DeleteItem; X-ClientStatistics: MessageId=5da48bb2-dc44-41c3-a01c-1ef2889e8768,ResponseTime=124,SoapAction=DeleteItem; X-ClientStatistics: MessageId=7a4ca214-c3a5-457b-92c4-ac9fa8778a5f,ResponseTime=115,SoapAction=DeleteItem; X-ClientStatistics: MessageId=69f0de07-f0f6-4d0d-b333-d918860fcdae,ResponseTime=162,SoapAction=DeleteItem; X-ClientStatistics: MessageId=a54fcae6-1a7c-4457-bb25-62840363eb0e,ResponseTime=147,SoapAction=DeleteItem; X-ClientStatistics: MessageId=0067bf00-0d70-4ca7-a1de-71763c456eec,ResponseTime=159,SoapAction=DeleteItem; X-ClientStatistics: MessageId=3e13927e-2a6d-4079-8631-26d5b3b1d8b1,ResponseTime=146,SoapAction=DeleteItem; X-ClientStatistics: MessageId=f30a9f2b-c058-4a70-9970-ca138f9c4c3d,ResponseTime=100,SoapAction=GetItem; X-ClientStatistics: MessageId=1d1a095e-032e-405f-bb53-f5989a29cc64,ResponseTime=133,SoapAction=DeleteItem; X-ClientStatistics: MessageId=ab87624e-9deb-4362-90ff-9fcf16c2f675,ResponseTime=122,SoapAction=DeleteItem; X-ClientStatistics: MessageId=6a87eb57-0c7c-452a-92b2-d5672a5f197c,ResponseTime=155,SoapAction=DeleteItem; X-ClientStatistics: MessageId=52ab175e-2932-46df-8527-d5efd4e9984c,ResponseTime=116,SoapAction=DeleteItem; X-ClientStatistics: MessageId=1cfd9076-6794-4272-9b1c-9a06f33d910d,ResponseTime=77,SoapAction=GetItem; X-ClientStatistics: MessageId=d8311654-d567-4d40-94be-823711ad303d,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=7a30f9db-12a8-4938-a038-502af232c035,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=bcdd9a3b-e356-44d0-8c56-8f62c07b833a,ResponseTime=115,SoapAction=DeleteItem; X-ClientStatistics: MessageId=b096e759-07af-491e-a954-590ab5c565ce,ResponseTime=147,SoapAction=DeleteItem; X-ClientStatistics: MessageId=43add95f-6e5f-4848-8c23-3bdf135e319a,ResponseTime=114,SoapAction=DeleteItem; X-ClientStatistics: MessageId=467f1dd5-25c9-4ab5-8832-f4662c6c8499,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=dbc2b483-e56f-4d7a-85b9-30c8be6b289f,ResponseTime=66,SoapAction=GetItem; X-ClientStatistics: MessageId=830a1cd5-9ed0-4933-a8dc-2bfa9e28db60,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=a5845e61-6d65-41cf-88d1-4756f5cf14ef,ResponseTime=116,SoapAction=DeleteItem; X-ClientStatistics: MessageId=3433b527-2216-416a-b74e-925490236009,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=1209933d-e5a0-470a-b158-2f8f142172d6,ResponseTime=105,SoapAction=DeleteItem; X-ClientStatistics: MessageId=3531c9f7-5da0-4a9b-b4de-f3feb9e098de,ResponseTime=108,SoapAction=DeleteItem; X-ClientStatistics: MessageId=a5c2cfbc-e797-47dd-817f-649326876d88,ResponseTime=81,SoapAction=GetItem; X-ClientStatistics: MessageId=8514ff7d-ef37-4081-b3c8-fda89a27967b,ResponseTime=102,SoapAction=DeleteItem; X-ClientStatistics: MessageId=f116d4ab-c375-4719-9511-79ba3605c5cf,ResponseTime=122,SoapAction=DeleteItem; X-ClientStatistics: MessageId=1a967d1a-8702-40a0-bf0d-6dba335db80f,ResponseTime=123,SoapAction=DeleteItem; X-ClientStatistics: MessageId=e92c7995-7e18-4e94-b941-8ca3e3632fd6,ResponseTime=118,SoapAction=DeleteItem; X-ClientStatistics: MessageId=54f1355d-9ee6-4add-94c9-7bcd2efd86e1,ResponseTime=1002,SoapAction=FindItem`1; X-ClientStatistics: MessageId=f48e3932-b115-46b8-b674-3a04da944338,ResponseTime=125,SoapAction=DeleteItem; X-ClientStatistics: MessageId=fc102196-e96f-4c1c-9830-5b33383390af,ResponseTime=121,SoapAction=DeleteItem; X-ClientStatistics: MessageId=8eccc5fe-a190-4726-9af9-e055661983d6,ResponseTime=137,SoapAction=DeleteItem; X-ClientStatistics: MessageId=0239747d-46c4-4ce2-8859-601b198bd9d1,ResponseTime=130,SoapAction=DeleteItem; X-ClientStatistics: MessageId=61002fb1-6b30-440d-b5ad-c0e523137231,ResponseTime=105,SoapAction=DeleteItem; X-ClientStatistics: MessageId=27cbd893-0a53-4a10-9f93-edcbbab9bc87,ResponseTime=73,SoapAction=GetItem; X-ClientStatistics: MessageId=1274e315-592f-4ae2-8b54-83fb5ca5bb0b,ResponseTime=110,SoapAction=DeleteItem; X-ClientStatistics: MessageId=60372a6c-9cc3-49e2-85e2-7c57bff72604,ResponseTime=110,SoapAction=DeleteItem; X-ClientStatistics: MessageId=42b74ab4-5446-44aa-bfdb-328e5c5183b5,ResponseTime=73,SoapAction=GetItem; X-ClientStatistics: MessageId=0aae8216-0a99-4dd3-8b74-686f0d5c9e66,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=a084f118-8074-4102-9e36-6c10d0a7aa8d,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=c084bd9e-1250-447d-947c-3c2a51a7a1b5,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=d031a357-ca24-4696-ac05-986077955a56,ResponseTime=105,SoapAction=DeleteItem; X-ClientStatistics: MessageId=da42358d-c1fb-41e1-b78c-bd12efbc9287,ResponseTime=107,SoapAction=DeleteItem; X-ClientStatistics: MessageId=edb41dd4-b9e3-4d47-b818-3442e1fdd6ec,ResponseTime=113,SoapAction=DeleteItem; X-ClientStatistics: MessageId=fe57d371-2c41-4afb-9aff-918ab20035be,ResponseTime=81,SoapAction=GetItem; X-ClientStatistics: MessageId=e39d3b78-78ed-4725-9f0b-8088cb1ff53b,ResponseTime=113,SoapAction=DeleteItem; X-ClientStatistics: MessageId=21000e0a-b433-4623-b88e-c7abd72e6a6e,ResponseTime=102,SoapAction=DeleteItem; X-ClientStatistics: MessageId=41619049-d467-4f89-89da-1d531590ee44,ResponseTime=108,SoapAction=DeleteItem; X-ClientStatistics: MessageId=18eee85c-f54d-4a81-a9c4-aa68281c3865,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=dded3c06-b72a-42f5-a61b-42336bd756ec,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=269c3319-83fb-43fe-b0b6-8f0484cddc81,ResponseTime=119,SoapAction=DeleteItem; X-ClientStatistics: MessageId=c602db39-5f37-4df7-af8e-06a24c71434c,ResponseTime=113,SoapAction=DeleteItem; X-ClientStatistics: MessageId=e92bd562-f822-4bbd-9cb5-784ae439b119,ResponseTime=87,SoapAction=GetItem; X-ClientStatistics: MessageId=eeea82da-c25e-4d64-a555-f9a411ab7b63,ResponseTime=122,SoapAction=DeleteItem; X-ClientStatistics: MessageId=2aebdd02-b058-4f39-b8d5-e291290b1267,ResponseTime=141,SoapAction=DeleteItem; X-ClientStatistics: MessageId=bbf13e83-cb9d-463d-8924-c1c5227b44e8,ResponseTime=122,SoapAction=DeleteItem; X-ClientStatistics: MessageId=2f18ec39-9b20-48fc-8bbb-b20e97cd5ec3,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=dfe1e3ea-a2c3-4e56-a18f-196c4c4b1e1a,ResponseTime=76,SoapAction=GetItem; X-ClientStatistics: MessageId=1e8a06be-4df6-4914-aae0-8f85c09167ba,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=77bf60c0-7caa-487f-b691-dbd4efd45354,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=9fec83eb-3d18-4558-bbe4-4b20b0d200f8,ResponseTime=144,SoapAction=DeleteItem; X-ClientStatistics: MessageId=d60707a7-8668-473b-965a-5cfe3ca2d541,ResponseTime=132,SoapAction=DeleteItem; X-ClientStatistics: MessageId=6d3ecb23-041e-4dcc-974f-77f7f2bc5cbf,ResponseTime=139,SoapAction=DeleteItem; X-ClientStatistics: MessageId=3544ee03-5c4e-472e-a9ee-9ebcf79545ba,ResponseTime=71,SoapAction=GetItem; X-ClientStatistics: MessageId=d9c77ca5-0ddb-4308-bdfc-65820f47529e,ResponseTime=113,SoapAction=DeleteItem; X-ClientStatistics: MessageId=dda74840-5108-4874-99c5-5a3a9443412a,ResponseTime=110,SoapAction=DeleteItem; X-ClientStatistics: MessageId=33ee527e-ca67-4f57-9764-1ff7e8e1a114,ResponseTime=76,SoapAction=GetItem; X-ClientStatistics: MessageId=f6ace0a2-6624-438a-a052-bc6511039aa0,ResponseTime=121,SoapAction=DeleteItem; X-ClientStatistics: MessageId=d7185de3-ee45-472e-a892-9080bbcf8a1a,ResponseTime=113,SoapAction=DeleteItem; X-ClientStatistics: MessageId=4168c2c1-512a-4dcb-8397-fd4d0558d852,ResponseTime=114,SoapAction=DeleteItem; X-ClientStatistics: MessageId=ecd35225-3185-49ef-852b-5d72e4522407,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=9454c75f-35ad-4ce9-a932-d8da7fc62332,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=866e9bba-b36e-4962-82da-b9aae5cececd,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=983cabf1-3230-4d3c-8814-edb742497900,ResponseTime=86,SoapAction=GetItem; X-ClientStatistics: MessageId=c9bf7433-15f4-4c11-b670-f63cb182e348,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=eb44f455-d4d6-4e79-a28f-35303aee130f,ResponseTime=107,SoapAction=DeleteItem; X-ClientStatistics: MessageId=c8986ee7-521f-4e76-aeb7-0bb246585033,ResponseTime=114,SoapAction=DeleteItem; X-ClientStatistics: MessageId=6e533b4d-8b02-4f66-a4aa-8b9f72fadbe6,ResponseTime=110,SoapAction=DeleteItem; X-ClientStatistics: MessageId=b237bbe8-9139-4df4-b103-d29231ff45af,ResponseTime=101,SoapAction=DeleteItem; X-ClientStatistics: MessageId=6b62feac-58a2-4cf5-89e1-ee767dfadab2,ResponseTime=937,SoapAction=FindItem`1; X-ClientStatistics: MessageId=b6496eaa-ac87-459f-b0fe-475349e896d5,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=1ca68c94-df3a-479a-8791-da2669401b92,ResponseTime=111,SoapAction=DeleteItem; X-ClientStatistics: MessageId=b963ac6f-fb50-409a-b464-b96e3172be88,ResponseTime=112,SoapAction=DeleteItem; X-ClientStatistics: MessageId=53f38a0b-0979-4176-951c-1728f52f3247,ResponseTime=106,SoapAction=DeleteItem; X-ClientStatistics: MessageId=4f7813b2-471d-4542-a8ed-a6d58a11404a,ResponseTime=73,SoapAction=GetItem; X-ClientStatistics: MessageId=bb75a13c-cb86-4c04-aab5-7da03f3b8601,ResponseTime=83,SoapAction=GetItem; X-ClientStatistics: MessageId=6cdd29ca-a964-4cce-af95-a17a5f6095c6,ResponseTime=127,SoapAction=DeleteItem; X-ClientStatistics: MessageId=70b1302e-0c72-4516-9c32-9419cb94d82b,ResponseTime=121,SoapAction=DeleteItem; X-ClientStatistics: MessageId=bb6786c8-9207-4998-b25e-09886f89a079,ResponseTime=144,SoapAction=DeleteItem; X-ClientStatistics: MessageId=d080ad16-cdff-4237-b225-d927f5a89b27,ResponseTime=116,SoapAction=DeleteItem; X-ClientStatistics: MessageId=85c80943-d7a0-4c77-83b0-2f54bc6aa8ed,ResponseTime=123,SoapAction=DeleteItem; X-ClientStatistics: MessageId=044682e8-588f-4cfa-afc0-43fd4a60d412,ResponseTime=111,SoapAction=DeleteItem; X-ClientStatistics: MessageId=3bf2132a-4d17-4b87-941e-777bc8716177,ResponseTime=76,SoapAction=GetItem; X-ClientStatistics: MessageId=7089df33-3cf1-4ec3-87d8-debfc5099bd7,ResponseTime=110,SoapAction=DeleteItem; X-ClientStatistics: MessageId=1605de89-b391-46b6-bd69-20d6ce170a4e,ResponseTime=120,SoapAction=DeleteItem; X-ClientStatistics: MessageId=4fa4f6e9-8110-4ab7-8a9e-a40870adf2f9,ResponseTime=110,SoapAction=DeleteItem; X-ClientStatistics: MessageId=1d48926a-0b93-4881-85cd-581d06855acf,ResponseTime=105,SoapAction=DeleteItem; X-ClientStatistics: MessageId=d45723d0-d946-49d4-8918-7824352827bb,ResponseTime=112,SoapAction=DeleteItem; X-ClientStatistics: MessageId=3964579c-bedc-4ded-ada0-35f00d846616,ResponseTime=89,SoapAction=GetItem; X-ClientStatistics: MessageId=19bd2943-1187-4204-b35c-f9be827d6af8,ResponseTime=107,SoapAction=GetItem; X-ClientStatistics: MessageId=fcc52ba7-6fc3-4567-b4c5-6036e8e6eba1,ResponseTime=136,SoapAction=DeleteItem; X-ClientStatistics: MessageId=0287d23a-210c-4719-a184-329f4baeb73e,ResponseTime=177,SoapAction=DeleteItem; X-ClientStatistics: MessageId=042f0100-b832-49a5-bd88-8749ab2a31e9,ResponseTime=172,SoapAction=DeleteItem; X-ClientStatistics: MessageId=49eee662-1fe6-4379-8453-8264d802578b,ResponseTime=116,SoapAction=DeleteItem; X-ClientStatistics: MessageId=8a42d034-a533-456a-991d-c85c1d8bc4df,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=f76206e5-0b83-4ce1-8117-3a206f080b2c,ResponseTime=76,SoapAction=GetItem; X-ClientStatistics: MessageId=2b82712e-07e7-493f-913c-cb2adf897ff4,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=decc89e9-4c4a-40b4-9f83-72617fd95638,ResponseTime=118,SoapAction=DeleteItem; X-ClientStatistics: MessageId=9133ddcf-967e-4b9f-848c-6a73d1c391cd,ResponseTime=129,SoapAction=DeleteItem; X-ClientStatistics: MessageId=82f747bb-a22c-48db-ab14-db5866efb68c,ResponseTime=129,SoapAction=DeleteItem; X-ClientStatistics: MessageId=9200f933-7fd6-4df1-855d-79123e5c8886,ResponseTime=136,SoapAction=DeleteItem; X-ClientStatistics: MessageId=14966a56-084e-41df-9548-9d0f17385829,ResponseTime=147,SoapAction=DeleteItem; X-ClientStatistics: MessageId=a2a3bcf2-f0f1-4e09-8a18-83d950be66aa,ResponseTime=85,SoapAction=GetItem; X-ClientStatistics: MessageId=047dc527-2900-4697-86c0-ea45e0f1e065,ResponseTime=121,SoapAction=DeleteItem; X-ClientStatistics: MessageId=74b0a919-e2db-4dfb-81fc-19f1938534b2,ResponseTime=114,SoapAction=DeleteItem; X-ClientStatistics: MessageId=9386ad33-fa55-4baa-944d-573e4de6cf48,ResponseTime=79,SoapAction=GetItem; X-ClientStatistics: MessageId=6e9f470a-c92b-4874-8fb0-e2d173d956e9,ResponseTime=128,SoapAction=DeleteItem; X-ClientStatistics: MessageId=b43ba45f-c149-4d4a-9d90-76b0170ec055,ResponseTime=108,SoapAction=DeleteItem; X-ClientStatistics: MessageId=4b74e80c-78ec-4dc5-8ec8-b198aa00e869,ResponseTime=80,SoapAction=GetItem; X-ClientStatistics: MessageId=f92f97b7-93f8-4cf5-a96c-8e94c23e787e,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=ced77dcc-01d5-4690-a9c9-2ab2620c6e9d,ResponseTime=110,SoapAction=DeleteItem; X-ClientStatistics: MessageId=410a2c5c-d10b-4cca-8689-c5d4c519a58e,ResponseTime=117,SoapAction=DeleteItem; X-ClientStatistics: MessageId=ac7a715a-58b4-44bf-9e39-e759957eb5fe,ResponseTime=131,SoapAction=DeleteItem; X-ClientStatistics: MessageId=9d8c8f57-3c04-4038-b223-d4a21c927cae,ResponseTime=84,SoapAction=GetItem; X-ClientStatistics: MessageId=e94ae26f-f790-4238-8c45-9a0c6a51531d,ResponseTime=126,SoapAction=DeleteItem; X-ClientStatistics: MessageId=8994008b-93de-4ad7-83c5-71163fed9ed7,ResponseTime=145,SoapAction=DeleteItem; X-ClientStatistics: MessageId=375efb04-e786-4385-b927-15b971241f96,ResponseTime=127,SoapAction=DeleteItem; X-ClientStatistics: MessageId=7b37666c-b243-4907-b1d8-c65522b49c47,ResponseTime=109,SoapAction=DeleteItem; X-ClientStatistics: MessageId=32eac2d6-dbc7-4fa7-9e2a-d44d77856d89,ResponseTime=114,SoapAction=DeleteItem; X-ClientStatistics: MessageId=8ace5c27-1542-45f3-9853-be2b69503b96,ResponseTime=115,SoapAction=DeleteItem;

`

It seems i have ghosts of my previous requests ? did I miss something ? here s the code, don't look at recurring items i haven't yet found the nice formula

` public async ATP.Task DeleteEvenementsOutlook(CalendarFolder Calendrier, int Annee) { int entreesTotales = 0, totalFinal = 0; string pluriel = "";

       List<Appointment> evenementsIteratifs = new();

       Console.WriteLine(Environment.NewLine + $"Demande de récupération des événements pour l'année {Annee} pour suppression avec pause de {_Timer} ms par requête...");
       //Rappatrier les évènements de l'année demandée, par lots de 50
       //Limiter le retour de calendrier aux champs nécessaires : sujet, date début/fin, catégories, récurrence
       CalendarView cview = new CalendarView(new DateTime(Annee, 1, 1), new DateTime(Annee, 12, 31), _Pagination) //_Pagination = 50
       {
           PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Categories, AppointmentSchema.IsAllDayEvent, AppointmentSchema.IsRecurring)
       };

       //Récupère la première page d'événements
       FindItemsResults<Appointment> appointments = await Calendrier.FindAppointments(cview);

       //Calcul du nombre d'itérations nécessaires pour récupérer tous les événements
       int nbIterations = appointments.TotalCount / _Pagination + ((appointments.TotalCount % _Pagination) > 0 ? 1 : 0);
       //Console.WriteLine($"Réponse reçue : {appointments.TotalCount} RDV rappatriés sur cette requête pour {Annee}, nécessitant {nbIterations} itérations" + Environment.NewLine);

       //sortie si aucun évènement n'est trouvé
       if (appointments.TotalCount == 0)
       {
           Console.WriteLine(Environment.NewLine + $"Aucun événement trouvé à supprimer pour l'année {Annee}.");
           return;
       }

       //sinon initialisation du compteur d'entrées totales
       totalFinal = appointments.TotalCount;

       for (int i = 1; i <= nbIterations; i++)
       {
           //Enregistre le dernier événement pour définir la date de début de la prochaine itération
           Appointment lastappointment = appointments.Items.Last(); // défini au début de la boucle pour éviter plantage d'avoir supprimé

           foreach (Appointment a in appointments)
           {
               pluriel = evenementsIteratifs.Count > 1 ? "s" : "";
               Console.Write($"\rTraitement de {++entreesTotales} sur {totalFinal} événements. ({evenementsIteratifs.Count} évènement{pluriel} récurrent{pluriel} unique{pluriel} détecté{pluriel})");

               if(entreesTotales % 100 == 0)
               {
                   Console.WriteLine(Environment.NewLine + $"Pause de {_Timer} ms pour éviter le blocage du serveur...");
                   //Thread.Sleep(_Timer);
               }

               if (!a.IsRecurring)
                   {
                       try
                       {
                           await a.Delete(DeleteMode.HardDelete, SendCancellationsMode.SendToNone);
                           //Console.WriteLine($"Effacement de l'événement {a.Subject} du {a.Start}");
                       }
                       catch (Exception ex)
                       {
                           Console.WriteLine(Environment.NewLine + $"Erreur lors de la suppression de l'événement '{a.Subject}' : {ex.Message}");
                       }
                   }
                   else //si récurrent
                   {
                       //définit la liste des récurrences pour la génerer à la fin et ne pas modifier le nombre d'éléments en cours de route.
                       Appointment master = await Appointment.BindToRecurringMaster(Calendrier.Service, a.Id);
                       if (master is not null)
                       {
                           //ajoute si n'est pas déjà dans la liste
                           if (evenementsIteratifs.All(c => !c.Id.Equals(master.Id)))
                           {
                               evenementsIteratifs.Add(master);
                               //Console.WriteLine(Environment.NewLine + $"Nouvel événement récurrent détecté : sont listés {evenementsIteratifs.Count} événements récurrents.");
                           }
                       }
                   }

           }

           //si ce n'est pas la dernière itération, on récupère la page suivante
           if (i != nbIterations)
           {
               DateTime newStartDate = lastappointment.End.AddSeconds(1);
               cview = new CalendarView(newStartDate, new DateTime(Annee, 12, 31), _Pagination);
               try
               {
                   appointments = await Calendrier.FindAppointments(cview);
               }
               catch (Exception ex)
               {
                   Console.WriteLine(Environment.NewLine + $"Erreur lors de la récupération des événements suivants : {ex.Message}");
               }
           }
       }

       Console.WriteLine(Environment.NewLine + $"Suppresion de {evenementsIteratifs.Count} événements récurrents...");
       foreach (Appointment a in evenementsIteratifs)
       {
           //if (a.Recurrence.EndDate.HasValue)
           //    {
           //        a.Recurrence.EndDate = new(a.Recurrence.EndDate.Value.Year + 1, 1, 1);
           //    }

           // Sauvegarder les modifications sans envoyer d'invitations
           try
           {
               //await a.Update(ConflictResolutionMode.AutoResolve, SendInvitationsOrCancellationsMode.SendToNone);
               //await a.Delete(DeleteMode.HardDelete);
               Console.WriteLine($"Effacement de l'événement récurrent {a.Subject}");
               Thread.Sleep(_Timer);
           }
           catch (Exception ex)
           {
               Console.WriteLine($"Erreur lors de la modification de l'événement récurrent '{a.Subject}' : {ex.Message}" + Environment.NewLine + $"Début = {a.Recurrence.StartDate} / FIn = {a.Recurrence.EndDate}");
           }
       }

       Console.WriteLine(Environment.NewLine + $"Suppression des évènements de l'année {Annee} terminée.");

   }`
TiboLR34 commented 7 months ago

My workaround was to use DeleteItemS ...

ItsClemi commented 4 months ago

Hi, I've finally found out what caused this issue.

The cause was the changed lifetime of the underlying HttpClient. In the legacy version the HttpClient was bound to the EwsHttpWebRequest class itself, but in .net core the HttpClient now uses a connection pool under the hood, so it made sense to decouple the HttpClient from the individual request itself.

But this introduced a bug as

https://github.com/ItsClemi/ews-managed-api/blob/d9949755752fd743c9317b3c4f9246e8b4ccc06c/src/Exchange.WebServices.NETCore/Core/EwsHttpWebRequest.cs#L60

pointed to the (now shared) http client instance. This resulted in each request adding the same headers over and over again.

Best regards Clemens

TiboLR34 commented 4 months ago

Thanks a lot and congrats I'll try the New code

Sincerely


Envoyé depuis un dispositif mobile


Thibaut MUREZ 26 Impasse du Grand Chêne 34980 Montferrier sur Lez

+33 6 18 02 69 35

Le jeu. 20 juin 2024, 21:01, Clemens Susenbeth @.***> a écrit :

Hi, I've finally found out what caused this issue.

The cause was the changed lifetime of the underlying HttpClient. In the legacy version the HttpClient was bound to the EwsHttpWebRequest class itself, but in .net core the HttpClient now uses a connection pool under the hood, so it made sense to decouple the HttpClient from the individual request itself.

But this introduced a bug as

https://github.com/ItsClemi/ews-managed-api/blob/d9949755752fd743c9317b3c4f9246e8b4ccc06c/src/Exchange.WebServices.NETCore/Core/EwsHttpWebRequest.cs#L60

pointed to the (now shared) http client instance. This resulted in each request adding the same headers over and over again.

Best regards Clemens

— Reply to this email directly, view it on GitHub https://github.com/ItsClemi/ews-managed-api/issues/12#issuecomment-2181344402, or unsubscribe https://github.com/notifications/unsubscribe-auth/BA3ZMKGTEGXGNESW3TU4TKDZIMRIVAVCNFSM6AAAAABJUQIGYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBRGM2DINBQGI . You are receiving this because you authored the thread.Message ID: @.***>