什么生成WebServiceRef Reference.cs文件?

sta*_*749 8 .net c# asp.net web-services

使用从一个数据库(Visual Fox Pro)读取数据的继承代码并将其存储在SQL Server中.这些是单独的系统,并使用WebService从VFP发送包含数据的XML.

两个数据库中都添加了一个字段,数据已经在VFP数据库中播种,但是我们遇到了用于同步数据的WebService问题.WebService似乎正在正确地生成和发送XML(使用新的字段和数据),但是看起来在.NET应用程序上处理它的模型没有正确生成,并且对这个新字段没有任何作用.

在查看对象浏览器时,其中有一个"OnlineAudienceWebServiceRef",有一个OnlineAudienceDAL.OnlineAudienceFoxProRow,它似乎包含模型列的描述.我们正在尝试向此Object添加一个新列(以接收新数据),但它似乎是自动生成的.

我的问题是,从根本上说,当Visual Studio链接到WebService时会发生什么?生成了哪些文件,以及它们是如何生成的?

鉴于Web服务正确发送新数据,我希望在点击解决方案资源管理器中的"更新Web引用"时更新Refs,但显然情况并非如此,我想知道发生了什么.

有一个'OnlineAudienceDAL.xsd'我们添加了新列,但是我们没有看到这会影响用于读取数据的Object.

根据App.config,该应用程序使用的是.NET v4,我们使用的是Visual Studio 2010.

我不熟悉.NET和这里发生的许多事情,并希望指向一个好的方向.对不起,如果这令人困惑,请告诉我我可能会遗漏哪些信息,如果有什么不清楚的话.

感谢您的任何帮助.

Dar*_*nMB 9

这是Visual Studio用于手动生成Web服务的命令行实用程序的示例,如果您在本地文件夹中具有WSDL(或XSD)文件.(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
Run Code Online (Sandbox Code Playgroud)

WSDL.EXE是这个的核心...下面是选项......

c:\ Program Files(x86)\ Microsoft Visual Studio 8\SDK\v2.0\Bin> wsdl /?Microsoft(R)Web服务描述语言实用程序[Microsoft(R).NET Framework,版本2.0.50727.42]版权所有(C)Microsoft Corporation.版权所有.

wsdl.exe - 从WSDL合同文件,XSD架构和.discomap 发现文档使用ASP.NET为xml Web服务客户端和xml Web服务生成代码的实用程序.此工具可与disco.exe一起使用.

wsdl.exe ...

  • 选项 -

- WSDL合同的URL或路径,XSD架构或.discomap文档.

/ nologo禁止横幅.

/ language:用于生成的代理类的语言.选择'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'.

/ username:/ password:/ domain:连接到需要身份验证的服务器时使用的凭据.简短形式是'/ 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以与编译器报告的格式类似的格式打印错误.

  • 高级 -

/ server服务器开关已被弃用.请改用/ serverInterface.基于契约使用ASP.NET为xml Web服务实现生成抽象类.默认是生成客户端代理类.

/ serverInterface为ASP.Net Web服务的服务器端实现生成接口.为wsdl文档中的每个绑定生成一个接口.单独使用wsdl实现wsdl协定(实现接口的类不应在类方法中包含以下任一内容:Web Service属性或更改wsdl协定的Serialization属性).简称是'/ si'.

/参数:从指定的xml文件中读取命令行选项.这允许您指定命令行中不可用的选项,例如选择生成哪种类型的异步编程模型.有关详细信息,请参阅工具文档.简称是'/ par:'.