首页 文章

WCF服务引用和“?wsdl”的使用

提问于
浏览
0

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

在“添加服务引用”窗口中,如果单击“高级...”按钮,它将位于“引用服务”窗口中,在后者中,我们会找到“重用引用程序集中的类型”复选框 . 我想知道这个复选框的含义 . 根据我的测试,当选中此复选框时,对于服务使用的每个DataContract,Visual Studio将搜索项目引用的程序集中的相应DataContract类,如果找到对应的类,则它将使用它而不是创建一个新的DataContract类 . 如果未选中该复选框,Visual Studio将为该服务使用的每个DataContract创建一个新类 . 在所有情况下都会创建ServiceContract接口和代理类(选中是否选中复选框) . 这真的吗?

1 回答

  • 0

    回答问题:

    指定URL http://domain/MyService.svc和http://url/MyService.svc?wsdl之间有什么区别吗

    否 - 如果未指定 ?wsdl URL,向导将通过将 ?wsdl 附加到URL以获取wsdl来获取WSDL .

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

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

    如果您真的不想在客户端上创建代理服务接口和数据传输类,那么请查看ChannelFactory . 这样你赢得了't need to add a service reference at all (but you will need the service' s ServiceContract 接口和数据传输组件)

相关问题