簡體   English   中英

WCF服務主機可以調用其服務嗎?

[英]Can WCF Service Host call its service?

這是我的項目:

IWCFService.cs

[ServiceContract]
public interface IWCFService
{
    [OperationContract]
    void SetValue(string value);

    [OperationContract]
    bool SaveToDatabase();
}

WCFService.cs

public class WCFService : IWCFService
{
    public void SetValue(string value);
    {
        //Code insert value
    }

    public bool SaveToDatabase);
    {
        //Code save values to database
    }
}

WindowsServiceHost.cs

public partial class WindowsServiceHost : ServiceBase
{
    private ServiceHost _host;

    public WindowsServiceHost()
    {
        InitializeComponent();
    }
    protected override void OnStart(string[] args)
    {
        _host = new ServiceHost(typeof (WCFService.WCFService));
        _host.Open();
    }

    protected override void OnStop()
    {
        _host.Close();
    }
}

frmClient.cs

public partial class frmClient : Form
{
    private WCFServiceClient _client = new WCFServiceClient();

    public frmClient()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        _client.SetValue(39);
        MessageBox.Show("Done!");
    }

    private void button2_Click(object sender, EventArgs e)
    {
        _client.SetValue(50);
        MessageBox.Show("Done!");
    }

    private void button3_Click(object sender, EventArgs e)
    {
        _client.SaveToDatabase();
        MessageBox.Show("Done!");
    }
}

我可以在哪里放置共享內存(以設置許多客戶端的價值)? (在WCF服務或Windows服務中)

我可以從Windows Service調用SaveToDatabase()嗎? (5秒后自動呼叫)

謝謝!

Web服務方法調用應視為完整操作,因此,如果需要存儲傳遞的值,則應在WCFService.SetValue()內的某個地方調用SaveToDatabase並且無需將SaveDatabase公開為Web服務方法。

暫無
暫無

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

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