如何在不重新启动的情况下生成服务模型元数据

Ich*_*ann 7 c# wcf visual-studio-2010

我有简单的WCF服务应用程序(基于本教程:入门).我的问题是,当我向我的应用程序添加一个函数并希望使用以下命令重新生成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)Communication Foundation,版本4.0.30319.1]版权所有(c)Microsoft Corporation.版权所有.

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

错误:无法导入wsdl:binding详细信息:导入wsdl:port的wsdl:bind是错误的.XPath to wsdl:portType:// wsdl:definitions [@ targetNamespace =' http:// PBMB ']/wsdl:portType [@ name ='IService'] XPath to Error Source:// wsdl:definitions [@ targetNamespace =' http://tempuri.org/ ']/wsdl:binding [@ name ='WSHttpBinding_IService']

错误:无法导入wsdl:port详细信息:导入wsdl:port所依赖的wsdl:binding时出错.XPath to wsdl:binding:// wsdl:definitions [@ targetNamespace =' http://tempuri.org/ ']/wsdl:binding [@ name ='WSHttpBinding_IService'] XPath to Error Source:// wsdl:definitions [@ targetNamespace =' http ://tempuri.org/']/wsdl:service [@ name ='PBMBService']/wsdl:port [@ name ='WSHttpBinding_IService']

生成文件...警告:未生成任何代码.如果您尝试生成客户端,这可能是因为元数据文档不包含任何有效的合同或服务,或者因为发现所有合同/服务都存在于/ reference assemblies中.验证是否已将所有元数据文档传递给该工具.

警告:如果要从模式生成数据协定,请确保使用/ dataContractOnly选项.

Mar*_*son 3

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

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

我问的原因是因为根据这篇博客文章, WCF 服务需要对临时文件夹具有写访问权限,因为它执行一些动态代码生成并需要某个位置来存储它。

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

更多详情: