无法访问添加的服务参考
Posted
技术标签:
【中文标题】无法访问添加的服务参考【英文标题】:can't access the added service reference 【发布时间】:2014-05-22 16:56:03 【问题描述】:我已经为我的 mvc4 web 项目添加了一个服务引用,并将其保留为默认命名空间“ServiceReference1”,但是当我想使用该命名空间时,Visual Studio 找不到它,就像它不存在一样,网络服务已启动并且工作正常。我到底做错了什么?
【问题讨论】:
【参考方案1】:我找到了解决方案 HERE,正如 Hoakie 在下面的说明中提到的那样对我有用,并且我的 reference.cs 现在已正确生成:
1) 右键单击服务参考
2) 选择配置服务参考
3) 取消选中“在引用的程序集中重用类型”
瞧!
【讨论】:
它也对我有用。但是有没有人不知道,它的意义是什么以及它为什么起作用? 呵呵...为此浪费了半个工作日,在整个文件层次结构中搜索问题并解决了!非常感谢你的朋友! 太棒了...因为它没有按预期工作,为什么各个开发人员默认标记它?!!!他们这样做只是为了让许多开发人员浪费他们的半天时间:( 在 VS 2015 中为我工作。很想知道这个解决方案的原因 谢谢。它对我也有效,但和其他人一样,我不太确定它为什么有效。【参考方案2】:这是由于 same namespace
名称与 类 名称。
将您的命名空间更改为与您的类不同的名称,这将 编译
【讨论】:
类名为“BaseJob”,命名空间为“SmsPanel”,服务引用命名空间为“ServiceReference1”... 我在 web.config 文件中找不到任何服务模型绑定,虽然我不确定 mvc 4 中的结构,但不应该将端点添加到我的 webconfig 文件中??? 如果您通过 Visual Studio 添加了引用,它将自行在 web.config 中添加必要的内容 好吧,它没有在我的 webconfig 中添加任何内容,这就是问题所在。【参考方案3】:查看 Visual Studio 为您的服务生成的代理类,看看命名空间和类名是什么
【讨论】:
我在哪里可以访问这个代理类? 您的解决方案中有一个 ServiceReference 文件夹,生成的文件在那里 如果您说的是我的解决方案中的服务引用文件夹,那么除了我的服务引用之外什么都没有。 @arashmoeen 是 WEB 服务还是 WCF 服务? 这是一个 Web 服务,我一直在我的其他项目、php 和 asp.net 项目中使用它,它运行良好,但在 mvc 中这是我第一次使用它,但它不起作用。 【参考方案4】:另一个经常被忽视的问题是服务引用将项目的根命名空间附加到您在服务配置中提供的命名空间。
换句话说,如果您的服务的命名空间是 ServiceReference1,那么将创建的实际命名空间将是 [RootNameSpace].ServiceReference1。 RootNameSpace 通常是您的项目的名称,因此在大多数情况下,您只需将服务引用附加到您的 [projectname.] 即可修复它。如果您的项目名称为 MyProject,则命名空间将为 MyProject.ServiceReference1
在记事本中打开csproj(假设是C#项目)文件并搜索“RootNamespace”以找到项目的根命名空间也相当简单。
【讨论】:
以上是关于无法访问添加的服务参考的主要内容,如果未能解决你的问题,请参考以下文章
WCF调试错误:添加服务失败。服务元数据可能无法访问。请确保服务正在运行并且正在公开元数据。