gpt4 book ai didi

c# - 什么会生成WebServiceRef Reference.cs文件?

转载 作者:太空狗 更新时间:2023-10-29 18:29:10 25 4
gpt4 key购买 nike

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

在这两个数据库中都添加了一个字段,并且数据已植入VFP数据库中,但是WebService在同步数据方面存在问题。 WebService似乎正在正确地生成和发送XML(带有新的字段和数据),但是似乎没有正确生成用于在.NET应用程序上处理该XML的模型,并且对该新字段不执行任何操作。

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

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

鉴于Web服务正确发送了新数据,我希望从解决方案资源管理器中单击“更新Web引用”后即可更新引用,但显然并非如此,我想知道发生了什么。

这里有一个'OnlineAudienceDAL.xsd',我们在其中添加了新列,但是我们看不到这会影响用于读取数据的对象。

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

我对.NET和这里发生的许多事情并不熟悉,并希望指出一个好的方向。抱歉,如果这令人困惑,请让我知道我可能会省略哪些信息,以及不清楚的信息。

感谢您的任何帮助。

最佳答案

如果您在本地文件夹中拥有WSDL文件(或XSD ),则此示例是Visual Studio使用的命令行实用工具手动生成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)\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-
实用程序,用于为xml Web服务客户端和xml Web服务生成代码
WSDL 契约(Contract)文件, XSD 模式和 .discomap 使用ASP.NET
发现文件。该工具可以与disco.exe结合使用。

wsdl.exe ...
  • 选项-

  • --
    WSDL契约(Contract),XSD架构或.discomap文档的URL或路径。

    /nologo
    禁止显示横幅。

    /语:
    用于生成的代理类的语言。从“CS”中选择
    'VB','JS','VJS','CPP'或提供类(class)的完全限定名称
    实现System.CodeDom.Compiler.CodeDomProvider。默认值
    语言是“CS”(CSharp)。缩写形式是“/l:”。

    /sharetypes
    打开类型共享功能。此功能使用以下命令创建一个代码文件
    单一类型定义,用于不同类型之间共享的相同类型
    服务( namespace ,名称和线路签名必须相同)。
    使用http://URL作为命令行参数引用服务
    或为本地文件创建分解文档。

    /详细
    当指定/sharetypes开关时,显示更多信息。
    简写形式是“/v”。

    /场
    生成字段而不是属性。缩写形式是“/f”。

    /命令
    在粒子成员上生成明确的顺序标识符。

    /enableDataBinding
    在所有生成的类型上实现INotifyPropertyChanged接口(interface)
    启用数据绑定(bind)。缩写形式是“/edb”。

    / namespace :
    生成的代理或模板的 namespace 。默认 namespace
    是全局 namespace 。简写形式为“/n:”。

    /出去:
    生成的代理代码的文件名或目录路径。默认值
    文件名是从服务名称派生的。缩写形式是“/o:”。

    /协议(protocol):
    覆盖要实现的默认协议(protocol)。从“SOAP”中选择
    'SOAP12','HttpGet','HttpPost'。

    /用户名:
    /密码:
    /领域:
    连接到服务器时要使用的凭据
    需要认证。简短格式为“/u:”,“/p:”和“/d:”。

    /代理人:
    用于http请求的代理服务器的url。
    默认为使用系统代理设置。

    /代理用户名:
    /proxypassword:
    /proxydomain:
    连接到代理服务器时使用的凭据
    需要认证。简短格式为“/pu:”,“/pp:”和“/pd:”。

    /appsettingurlkey:
    用于代码生成以读取默认值的配置 key
    Url属性的值。默认是不从配置中读取
    文件。缩写形式是'/urlkey:'。

    /appsettingbaseurl:
    计算网址片段时要使用的基本网址。这
    还必须指定appsettingurlkey选项。网址片段是
    从appsettingbaseurl计算相对URL的结果
    到WSDL文档中的URL。缩写形式是“/baseurl:”。

    /parsableerrors
    以类似于编译器报告的格式打印错误。
  • 高级-

  • /服务器
    服务器开关已弃用。请改用/serverInterface。
    使用以下命令为xml Web服务实现生成抽象类
    基于契约(Contract)的ASP.NET。默认是生成客户端代理
    类。

    /serverInterface
    生成用于ASP.Net的服务器端实现的接口(interface)
    网络服务。为wsdl中的每个绑定(bind)生成一个接口(interface)
    文件。 wsdl单独实现wsdl契约(Contract)(类
    实现该接口(interface)的对象不应包括以下任何一个
    类方法:Web Service属性或序列化
    更改wsdl契约(Contract)的属性)。短格式为“/si”。

    /参数:
    从指定的xml文件中读取命令行选项。这可以让你
    指定命令行中不可用的选项,例如选择
    生成哪种类型的异步编程模型。有关详细信息,
    请参阅工具文档。简写形式是“/par:”。

    关于c# - 什么会生成WebServiceRef Reference.cs文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131291/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com