簡體   English   中英

Web服務和客戶端DLL

[英]Web services and client DLL

我有一個Web服務和一個客戶端DLL。 該Web服務使用Oracle數據庫。

為了測試客戶端DLL,我復制了Web服務並將其指向測試數據庫。 然后,我復制了客戶端DLL,並使用“添加Web參考”添加了此測試Web服務。

我想做的是使用一個Web服務和一個客戶端DLL,但能夠告訴客戶端DLL使用測試數據庫或生產數據庫,而不是使用兩個相同的Web服務和客戶端DLL。

編輯

我錯報了這個問題。 我需要做的是使用一個客戶端DLL和兩個Web服務(一個生產版本,一個開發/測試版本),並且能夠以某種方式告訴客戶端DLL使用哪個Web服務。 這是有關如何使用Web服務,客戶端DLL和客戶端應用程序的示例:

public class DSSService : System.Web.Services.WebService
{
    public DSSService()
    {

    }
    [WebMethod(MessageName = "GetFacility", BufferResponse=true, Description = "blah.")]

    public Facility GetFacility(string sFDBID, string sZip, string sFinNo)
    {
        Facility oFacility = ...;
        ...
        return oFacility;
    }
    ....
}

客戶端DLL:

namespace DSSConfig
{
    string sWSURL;

    public class Config
    {
        public Config()
        {
        }

        public void SetWSURL(string sURL)
        {
            sWSURL = sURL;
        }

        public Facility GetFacility(string sFDBID, string sZip, string sFinNo)
        {
            DSSService Proxy = new DSSService();
            proxy.Url = sWSURL;
            Facility oFacility = Proxy.GetFacility(sFDBID, sZip, sFinNo);
            return  oFacility;
        }

在客戶端應用程序中,具有DSSConfig DLL作為參考:

DSSConfig oConfig = new DSSConfig();
oConfig.SetWSURL("http://myserver/WebService1/service.asmx");
oConfig.GetFacility("blah", "blah", "blah");

您需要做的是更改WEB服務,使其具有一個參數,它將用於構造與數據庫的連接字符串。

然后更改客戶端DLL以將該參數作為調用或連接的一部分傳遞。

然后,您可以配置客戶端DLL以使用您想要傳遞參數的任何技術。 我的建議可能是從客戶端DLL中生成的代理派生一個類,並在客戶端代碼中使用它。

沒有具體的實現細節,我無法更加精確。

暫無
暫無

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

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