【问题标题】:How can I generate Service Model Metadata without rebooting如何在不重新启动的情况下生成服务模型元数据
【发布时间】:2011-08-22 19:58:29
【问题描述】:

我有简单的 WCF 服务应用程序(基于本教程:Getting Started)。我的问题是,当我向我的应用程序添加一个函数并想使用以下命令重新生成 Proxy.cs 文件时:

C:\kod>svcutil.exe /language:cs /out:Proxy.cs /config:app.config http://localhos t:8000/PBMB

我得到以下结果。我知道重新生成这些文件的唯一解决方案是重新启动我的计算机。但是每次我改变任何东西都这样做是令人沮丧的。有人可以帮忙吗?

结果:

Microsoft (R) 服务模型元数据 工具 [Microsoft (R) Windows (R) 通信基础,版本 4.0.30319.1] 版权所有 (c) Microsoft Corporation。保留所有权利。

尝试从以下位置下载元数据 'http://localhost:8000/PBMB' 使用 WS-元数据交换或 DISCO。错误: 无法导入 wsdl:portType 详细信息:An 运行时抛出异常 WSDL 导入扩展:System.Se rviceModel.Description.DataContractSerializerMessageContractImporter 错误:带有目标命名空间的架构 找不到“http://PBMB”。 错误源的 XPath: //wsdl:definitions[@targetNamespace='http://PBMB']/wsdl:p ortType[@name='IService']

错误:无法导入 wsdl:binding 详细信息:导入一个错误 wsdl:binding 所在的 wsdl:portType 依赖于。 wsdl:portType 的 XPath: //wsdl:定义[@targetNamespace='http://PBMB']/wsdl: portType[@name='IService'] XPath 到 错误来源: //wsdl:definitions[@targetNamespace='http://tempuri.org/' ]/wsdl:binding[@name='WSHttpBinding_IService']

错误:无法导入 wsdl:port 详细信息: 导入一个错误 wsdl:binding wsdl:port 是 依赖于。 wsdl 的 XPath:绑定: //wsdl:definitions[@targetNamespace='http://tempuri.org/' ]/wsdl:binding[@name='WSHttpBinding_IService'] 错误源的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/' ]/wsdl:service[@name='PBMBService']/wsdl:port[@name='WSHttpBinding_IService']

正在生成文件...警告:无代码 生成了。如果你试图 生成一个客户端,这可能是 因为元数据文件确实 不包含任何有效的合同或 服务或因为所有 合同/服务被发现 存在于 /reference 程序集中。 验证您是否通过了所有 元数据文档到工具中。

警告:如果您想生成 来自模式的数据契约确保 使用 /dataContractOnly 选项。

【问题讨论】:

  • 什么是托管您的服务实现、IIS、Casini?当您在重新生成代理时遇到错误时,您可以杀死该主机进程并重新启动它吗?
  • 我不知道我的主机配置。严重地。我做了所有的事情,就像我给出链接的教程一样。并且关闭应用程序也无济于事。

标签: c# wcf visual-studio-2010


【解决方案1】:

(免责声明,我绝不是该领域的专家,但我对此很感兴趣并在 Google 上搜索了一下)

当您对服务进行更改并重新启动它时,运行该服务的帐户是否可能会发生变化?就像你启动计算机时它默认在 IIS 下运行,但是当你修改它时,你在 Cassini 或类似的东西下启动它?

我问的原因是因为根据this blog post,WCF 服务需要对 temp 文件夹具有写入权限,因为它执行一些动态代码生成并需要一些地方来存储它。

只是一个值得考虑的想法。

更多细节:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-29
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    相关资源
    最近更新 更多