2013-11-21 91 views
7

使用從一個數據庫(Visual Fox Pro)讀取數據並將其存儲在SQL Server中的繼承代碼。這些是獨立的系統,並使用WebService發送包含VFP數據的XML。什麼生成一個WebServiceRef Reference.cs文件?

一個字段已被添加到這兩個數據庫中,並且數據已被播種到VFP數據庫中,但我們遇到了用於同步數據的WebService的問題。 WebService似乎正確地生成和發送XML(使用新的字段和數據),但看起來在.NET應用程序中處理它的模型並沒有被正確生成,並且對這個新字段沒有任何作用。

在查看對象瀏覽器時出現'OnlineAudienceWebServiceRef',其中有一個OnlineAudienceDAL.OnlineAudienceFoxProRow,其中似乎包含模型列的說明。我們正試圖向該對象添加一個新列(以接收新數據),但它會自動生成。

我的問題是,從根本上說,當Visual Studio鏈接到WebService時發生了什麼?生成哪些文件,以及它們是如何生成的?

鑑於Web服務正確地發送新數據,我期望Refs在解決方案資源管理器中單擊「更新Web引用」時進行更新,但顯然情況並非如此,我想知道最新消息上。

有一個'OnlineAudienceDAL.xsd',我們添加了新列,但是我們沒有看到影響用於讀取數據的對象。

根據App.config中的應用程序使用.NET V4,我們使用Visual Studio 2010中

我不熟悉.NET和正在這裏發生了許多事情,並想成爲指向了一個好的方向。對不起,如果這是令人困惑,請讓我知道我可能省略什麼信息,如果有什麼不清楚。

謝謝你的幫助。

回答

8

這是一個例子使用Visual Studio的,如果你有在本地文件夾的WSDL(或XSD)文件手動生成Web服務的命令行工具。 (WSDL是Web服務定義文件)

這是在我的情況下批處理文件中...也生成一個VB文件,但很容易切換到C#我假設與最後一個命令行參數。

cd C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin 
wsdl.exe "c:\development\WebServiceClients\CORE_Webservice_Interface_WS.wsdl" /fields /n:Telus /out:"c:\Development\output\WebServiceClients\referencefile.vb" /l:VB 

WSDL.EXE是這個核心...以下是選項...

C:\ Program Files文件(x86)的\微軟的Visual Studio 8 \ SDK \ V2 .0 \ Bin> wsdl /? Microsoft(R)Web服務描述語言工具 [Microsoft(R).NET Framework,Version 2.0.50727.42] Copyright(C)Microsoft Corporation。版權所有。

Wsdl.exe用 - 實用程序從WSDL合同文件,XSD模式和產生使用ASP.NET的XML Web服務客戶端和XML Web服務 代碼。discomap 發現文檔。該工具可以與disco.exe一起使用。

Wsdl.exe用...

  • OPTIONS -

- URL或路徑到WSDL合同,XSD架構或文檔.discomap。

/nologo 取消橫幅。

/語言: 用於生成的代理類的語言。選擇'CS', 'VB','JS','VJS','CPP'或爲實現System.CodeDom.Compiler.CodeDomProvider的類 提供完全限定的名稱。默認的 語言是'CS'(CSharp)。簡寫形式是'/ l:'。

/sharetypes 打開類型共享功能。此功能創建一個帶有 代碼文件的單一類型定義,用於在不同的 服務(命名空間,名稱和連線簽名必須完全相同)之間共享的相同類型。 使用http:// URL作爲命令行參數 引用服務或爲本地文件創建discomap文檔。

/verbose 指定/ sharetypes開關時顯示額外的信息。 縮寫形式是'/ v'。

/fields 生成字段而不是屬性。簡寫形式是'/ f'。

/order 在粒子成員上生成顯式的訂單標識符。

/enableDataBinding 在所有生成的類型 上實現INotifyPropertyChanged接口以啓用數據綁定。簡寫形式是'/ edb'。

/namespace: 生成的代理或模板的命名空間。默認名稱空間 是全局名稱空間。簡寫形式是'/ n:'。

/out: 生成的代理代碼的文件名或目錄路徑。默認的 文件名來源於服務名稱。簡寫形式是'/ o:'。

/protocol: 覆蓋要實現的默認協議。 'SOAP'選擇, 'SOAP12','HttpGet','HttpPost'。

/用戶名: /密碼: /域名: 的憑據連接到 要求身份驗證的服務器時使用。簡寫形式是'/ u:','/ p:'和'/ d:'。

/proxy: 用於http請求的代理服務器的url。 默認設置是使用系統代理設置。

/的proxyusername: /的proxyPassword: /proxyDomain行: 的憑據當連接到 需要身份驗證的代理服務器使用。簡寫形式是'/ pu:','/ pp:'和'/ pd:'。

/appsettingurlkey: 用於代碼生成的配置鍵讀取Url屬性的默認值 的值。默認值是不從配置 文件中讀取。簡寫形式是'/ urlkey:'。

/appsettingbaseurl: 計算url片段時使用的基本url。還必須指定 appsettingurlkey選項。 url片段是 計算從appsettingbaseurl 到WSDL文檔中的url的相對url的結果。簡寫形式是'/ baseurl:'。

/parsableerrors 以類似於編譯器報告的格式打印錯誤。

  • 高級 -

/服務器 服務器開關已被棄用。請改用/ serverInterface。 根據合同使用 ASP.NET爲xml Web服務實現生成抽象類。默認是生成客戶端代理 類。

/serverInterface 生成ASP.Net Web服務的服務器端實現的接口。爲wsdl 文檔中的每個綁定生成一個接口。單獨使用wsdl實現wsdl合同(類 ,實現該接口的類方法中不應包含以下任何一個 :Web服務屬性或更改wsdl合同的序列化 屬性)。簡寫形式是'/ si'。

/parameters: 從指定的xml文件讀取命令行選項。這允許您 指定命令行不可用的選項,例如選擇 生成哪種類型的異步編程模型。有關詳細信息,請參閱工具文檔 。簡寫形式是'/ par:'。

相關問題