当我添加服务引用时,为什么 VS2010 RC 不使用我现有的类型?

2024-02-24

我在 VS2010 RC 中获取服务引用以使用现有程序集时遇到了很大的问题。

即使我有一个类库,其中包含在服务项目和使用项目(这是一个类库)之间共享的所有数据协定(用 DataContract 标记的类和用 DataMember 标记的属性),当我添加服务引用时,数据合同是使用服务引用重新生成的,而不是使用现有类型。

当我使用 VS2010 beta 2 时,这工作得很好,并且我有使用完全相同的数据契约的现有服务引用。但是,如果我添加新的服务引用,甚至更新旧的服务引用,它将不再使用现有的类型。

我制作了一个小型测试解决方案,其中包含一项服务、一种数据合约类型和一个作为消费者的控制台应用程序(全部在同一个解决方案中),它似乎可以工作,但这对我来说并不是很大的安慰。有什么办法可以看出为什么它不能使用现有类型吗?

编辑以澄清。它使用 svcutil.exe 生成代理类,并指向数据契约 dll,如下所示:

svcutil.exe http://localhost/MyService.svc
/reference:[Path To DataContracts]\DataContracts.dll 
/n:*,MyProject.MyServiceReference /ct:System.Collections.Generic.List`1

问题是,即使选中了“重用”复选框并且引用了数据契约程序集,Visual Studio 可能会出于什么原因生成自己的数据契约而不是使用现有的数据契约。


我过去在使用 VS 2008 时也遇到过这个问题。虽然我无法找到它不从您添加服务引用的同一程序集中获取类型的原因,但我确实注意到,如果您实际上取出 DataContracts,它就会起作用。就像将它们放在一个单独的 dll 中,然后将该 dll 引用到要添加服务引用的项目中。在大多数情况下,无论如何,这是一个更优雅的解决方案,因为人们倾向于在服务和服务使用者之间共享数据契约。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我添加服务引用时,为什么 VS2010 RC 不使用我现有的类型? 的相关文章

  • Web 服务返回 java.lang.reflect.InitationTargetException

    我在向 java web 服务发出请求时收到上述消息 我们最初创建了一个 Java 控制台应用程序并手动提交了一个 xml 文件 当将其作为 Java 应用程序运行时 将使用 System out println 成功创建并显示响应 我们通
  • 使用 CustomBinding 的 WCF 服务配置 HTTPS

    我需要 WCF 服务上的自定义绑定 以允许我将原始内容传递到 WCFRest 服务 效果很好 但我无法让它接受传输级安全性 我想要 https 和 basicauthentication 就像我在其他地方使用的那样 端点看起来像这样
  • vs2010 c++ 通过debug查看指针内容

    我正在使用 Vs2010 c 处理 2D 数组 我从一维指针开始 并使用操作 如下 class CMatrix void clear public int nRows int nCols short MyMat CMatrix CMatri
  • IntelliSense:对象具有与成员函数不兼容的类型限定符

    我有一个名为 Person 的类 class Person string name long score public Person string name long score 0 void setName string name voi
  • WCF - 将空元素转换为可为空的本机类型

    将 SOAP 字段元素留空会导致本机类型出现强制转换错误 遗憾的是 由于客户端限制 无法使用 xsi nil true 将 WCF 协定本机类型标记为 nullable 似乎不足以阻止将以下错误返回给客户端 字符串 不是有效的布尔值 在 S
  • 如何在 Visual Studio 2012 中创建 Web 服务(服务器和客户端)?

    如何在 Visual Studio 2012 中创建 Web 服务 服务器和客户端 就像2012年之前所做的那样http www tutorialspoint com asp net asp net web services htm htt
  • 找不到 Microsoft.SqlServer.ConnectionInfo.dll 程序集文件?

    我正在尝试仅使用 C 代码动态获取数据库表结构 如下所示 using Microsoft SqlServer Management Common using Microsoft SqlServer Management Smo public
  • WPF C# 输入框

    我正在使用 C 构建 WPF 应用程序 我想弹出一个对话框提示用户输入他 她的名字 之后 我将跟踪该名称并将一些数据保存到 txt使用该名称的文件 例如 输入的名称是姓名 约翰 所以我有数据数据 1 2 3 然后我将 数据 保存在John
  • 使用 WCF 和 .NET 4.0 在 C# 中实现 SOAP 客户端

    我在 NET 4 0 中开始使用 WCF 时遇到问题 这是我的情况 我用 PHP 创建了一个小型 SOAP 服务器 我有一个 C 项目 我想在其中连接到此服务器并启动 SOAP 通信 我的问题是 我不知道如何在 C 中执行此操作 我找不到
  • 从 WCF 服务返回接口

    我有一些 NET 远程处理代码 其中在某些服务器端类中实现的工厂方法返回具体对象的接口 也在同一台服务器上执行 NET 远程处理会自动创建代理 并允许我将接口传递给客户端 然后客户端可以直接调用它们 接口示例 public interfac
  • WCF 4.0 REST 上传 MS-Excel 文件

    我正在尝试通过 WCF REST 服务上传 MS Excel 文件 我使用了下面帖子中给出的解决方案 RESTful WCF服务图片上传问题 https stackoverflow com questions 664712 restful
  • 如何从互联网访问本地网络内的服务器

    假设我有一个服务器应用程序在未直接连接到互联网但通过路由器连接的计算机上工作 所以问题是如何从不在内部网络 从互联网 内的另一台计算机连接到该服务器 据我所知 管理员可以配置路由器将指定端口请求重定向到该计算机 但我可以自动执行此操作吗 我
  • 如何从 html 页面 [javascript] 调用 Web 服务方法而不刷新页面

    我有一个webservice这将返回一个值 我的要求是 我需要调用它webservice从一个index html页面 该页面有一个 html 提交按钮 在该按钮上单击我正在呼叫JavaScript 从那里我想调用网络方法 我怎样才能做到这
  • 接收VS2010扩展的路径?

    我为 VS2010 编写了一个小扩展 vsix 文件 其中 vsix 是一个二进制文件 由扩展调用 我尝试像这样打开文件 ProcessStartInfo startInfo new ProcessStartInfo FileName Bi
  • WCF 服务中的缓冲区大小

    我们有一个 WCF 服务 它执行某些存储过程并将结果返回给 silverlight 客户端 某些存储过程最多返回 80K 行 下面给出的是 web config 中服务的设置
  • SSRS。如何在table1_Details_Group右侧创建新的行组?

    我正在使用 Microsoft Visual Studio 2013 创建报告 PROBLEM 如果我添加新的Row Group前面会自动添加table1 Details Group 问题 如何更改组的顺序或在右侧添加新组table1 De
  • 用于检查 URL 状态的 PowerShell 脚本

    与此问题类似 https stackoverflow com questions 18500832 script to check the status of a url我正在尝试监视一组网站链接是否已启动并运行或没有响应 我在 Inter
  • IIS6 中托管的 WCF 服务在生产中收到 404

    我已经构建了一个简单的 WCF 服务并将其部署到 IIS6 我注意到它可以在我的开发和登台环境中运行 但不能在生产环境中运行 每次我尝试点击服务元数据链接时 都会收到 404 页面 我检查了我能想到的所有 IIS 配置 它们是相同的 所以我
  • Web 服务调用后响应对象中的属性为 null

    我可以在 Fiddler 中看到该对象 但该对象在我这边没有反序列化 有没有人见过这个 响应为空 或 响应包含空值 或 请求为空 或 请求包含空值 几乎总是意味着命名空间不匹配 例如 响应可能包含
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用

随机推荐