0

在 Visual Studio 中向项目添加 WCF 服务引用时,指定 urlhttp://domain/MyService.svc和? 之间有什么区别http://url/MyService.svc?wsdl吗?在目标服务位于 https 或目标服务需要身份验证的情况下,是否有任何特殊差异?

在“添加服务引用”窗口中,如果单击“高级...”按钮,它会落在“引用服务”窗口中,在后者中我们会找到“在引用的程序集中重用类型”复选框。我想知道这个复选框的含义。According to my tests, when this check box is selected, for each DataContract used by the service, Visual Studio will search a corresponding DataContract class in the assemblies referenced by the project, if it finds a class that corresponds then it will use it instead of创建一个新的 DataContract 类。如果未选中该复选框,Visual Studio 会为服务使用的每个 DataContract 创建一个新类。在所有情况下都会创建 ServiceContract 接口和代理类(复选框是否选中)。真的是这样吗?

4

1 回答 1

0

要回答问题:

http://domain/MyService.svc指定网址和指定网址有什么区别吗http://url/MyService.svc?wsdl

否 - 如果您不指定?wsdlURL,向导将通过附加?wsdl到 URL 来获取 WSDL 以检索 wsdl。

“在引用的程序集中重用类型”。我想知道这个复选框的含义

如果您有权访问包含服务中使用的类的程序集(例如DataContracts)并从客户端引用它们,则此复选框允许您重用这些类型,而无需在客户端上创建新的代理类型。

如果你真的不想在客户端创建代理服务接口和数据传输类,那么看看ChannelFactory. 这样,您根本不需要添加服务引用(但您将需要服务的ServiceContract接口和数据传输程序集)

于 2013-10-18T15:12:17.660 回答