簡體   English   中英

C#控制台和服務之間的共享DLL

[英]C# Shared DLL between console and service

我正在創建一個帶有DLL的項目,它將有一個公共方法Process();

將有一個服務,每三分鍾調用一次該方法。

還有一個控制台應用程序將調用此方法。

如果該方法當前正在運行,如何在服務已運行時讓控制台應用程序不再調用它?

您將需要設置某種IPC - 例如,在該方法中使用的全局互斥鎖信號正在運行/當前未運行將解決該問題(只要兩者都在同一台機器上運行)...

您可以使用命名的互斥鎖來阻止調用者調用相同的方法。

附加說明:
如果服務最終創建並以管理員身份運行,您可能會遇到有關指定互斥鎖的權限問題,除非您在互斥鎖上設置適當的權限,否則您的控制台應用程序可能無權訪問互斥鎖。

您應該考慮使用互斥鎖。 這是一篇來自MSDN的文章: http : //msdn.microsoft.com/en-us/library/hw29w7t1 (v= vs.100).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM