[英]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.