我正在用ServiceStack構建API。我希望每個請求都有一個唯一的ID,以便我可以通過系統(分發)跟蹤它。我在ServiceStack中爲每個請求分配唯一ID的選項是什麼?
我有我的合約程序集包含我的API的DTOs,所以我認爲自然的地方將是使每個Request
派生自一個基類,有一個密封的受保護的無參數構造函數,分配一個新的ID(可能GUID是罰款)。
但是,如果您願意,可以通過客戶端使用我的API,而無需使用合同DTOs程序集 - 裸體。在這一點上,客戶端可以分配他們喜歡的任何ID(因爲該屬性將是一個字符串以適應,並且我希望ID分配很快)。
因此,這導致我認爲服務應該在請求到達系統時分配請求ID。所以 - 我現在認爲要做的最好的事情是每個請求的ID屬性都由API驗證爲空,客戶端無法設置它。然後,一個before-everything過濾器爲DTO屬性分配一個值。
這是明智的嗎?
是否有一個更優雅的方式來做到這一點(仍然對赤裸裸的客戶端?)?
所以效果客觀上可能忽視了客戶可能設定的任何價值。謝謝 :) –