我正在構建Nancy的擴展,並且我不確定在哪裏掛入Nancy的ApplicationStartup事件。如何訂閱Nancyfx中的ApplicationStartup事件?
0
A
回答
3
如果你想在你的庫安裝時自動運行一些代碼,那麼你需要繼承南希類IApplicationStartup
並編寫你的實現。
https://github.com/NancyFx/Nancy/blob/master/src/Nancy/Bootstrapper/IApplicationStartup.cs
例如,對於Nancy.Raygun我做了以下內容:
public class NancyRaygunRegistration : IApplicationStartup
{
private static readonly RaygunClient Client;
static NancyRaygunRegistration()
{
var apiKey = RaygunSettings.Settings.ApiKey;
if (string.IsNullOrWhiteSpace(apiKey))
{
apiKey = ConfigurationManager.AppSettings["nr.apiKey"];
}
if (apiKey == null) return;
Client = new RaygunClient(apiKey);
}
public void Initialize(IPipelines pipelines)
{
if (Client == null) return;
var raygunItem = new PipelineItem<Func<NancyContext, Exception, Response>>("Raygun", (context, exception) =>
{
Client.SendInBackground(context, exception);
return null;
});
pipelines.OnError.AddItemToStartOfPipeline(raygunItem);
}
}
南希會自動找到IAppliationStartup
所有實現和運行它們。
其他需要考慮的事情:
IRegistrations
https://github.com/NancyFx/Nancy/blob/master/src/Nancy/Bootstrapper/IRegistrations.cs
IRequestStartup
https://github.com/NancyFx/Nancy/blob/master/src/Nancy/Bootstrapper/IRequestStartup.cs
IPipelines
https://github.com/NancyFx/Nancy/blob/master/src/Nancy/Bootstrapper/IPipelines.cs
相關問題
- 1. 如何訂閱primeNg事件
- 2. 如何訂閱UPnP事件
- 3. 如何訂閱任務中的事件
- 4. 如何訂閱PencilBlue中的事件?
- 5. 訂閱事件
- 6. 訂閱事件
- 7. 訂閱VB.NET中的事件
- 8. 如何在Eclipse中訂閱OpenProject事件?
- 9. 在javascript中訂閱事件
- 10. C#事件訂閱
- 11. RhinoMocks事件訂閱
- 12. 訂閱TeamSystem事件
- 13. 訂閱FB事件
- 14. C#訂閱事件
- 15. 訂閱Docker事件
- 16. .NET事件 - 阻止訂閱者訂閱事件
- 17. 如何捕獲訂閱事件?
- 18. 如何認定事件已訂閱FakeItEasy?
- 19. 如何取消訂閱此.NET事件?
- 20. 如何訂閱全球委託事件?
- 21. 對象如何訂閱事件?
- 22. 訂閱事件的Backgroundworker
- 23. Symfony2的從事件訂閱
- 24. 訂閱事件的日誌
- 25. GraphQL訂閱:如何根據訂閱中的事件更新對象
- 26. 訂閱VBA中的控件事件
- 27. 如何訂閱組件中的全局事件(例如按鍵)
- 28. jQuery的事件訂閱 - 如何讓事件PARAMS
- 29. 訂閱通用類中的事件
- 30. 無法訂閱Angular Directive中的事件
究竟是什麼你想實現什麼?爲了什麼目的,你需要做什麼?問題太模糊。 – Phill
我正在構建一個資源優化庫來精簡js和css文件。希望優化發生在應用程序啓動時發生,但不知道如何掛鉤它。 –