簡體   English   中英

Windows 服務上的 WCF C# 類 null

[英]WCF on Windows Service C# Class null

我有一個單獨的 WCF 服務項目在與我的 Windows 服務相同的解決方案中運行,在 Windows 服務中,我將數據從數據庫填充到我的 DataStore 類中(這經常發生)。 DataStore 在內存中,所以我可以隨時隨地訪問它,問題出在我的 WCF 服務中,它為空,但不在 Windows 服務中......我明白為什么......問題是我如何訪問在我的 WCF 中具有相同數據的同一個類? 將有多個到 Web 服務的連接,因此 DataStore 需要具有最新數據並且不能為空。

public string GetData(string obj) 
{ 
    try 
    { 
        return TestCount = DataStore.Instance.Test.Count.ToString(); 
    } 
    catch (Exception ex) 
    { 
        return "Error"; 
    } 
} 

很難從您的問題中確切地說出您想要實現的目標; 但是,如果正如我懷疑的那樣,您試圖通過 WCF 傳輸復雜類型(類),首先,正如@Amir 所建議的那樣,您將需要Operation 或 DataContract裝飾器 - 我注意到這些不存在於您的示例中. 根據數據傳輸的復雜性,您可能還需要KnownType裝飾器。

假設您正在傳遞復雜類型,將這些模型分成它們自己的、不同的程序集可能會對您有所幫助。

前段時間,我寫了一篇關於傳遞虛擬接口的簡短文章,有時您可能不知道要傳輸的究竟是什么。

還值得考慮在 WCF 服務中擁有數據緩存是否有任何價值。 如果您使用默認實例化,那么您將不會從一次調用到下一次保留此緩存。

暫無
暫無

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

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