我刚刚开始学习WCF,并且正在尝试为我的客户端应用程序创建一个WCF服务。
从msdn教程中,我已经完成了所有个人步骤,并了解了WCF的工作原理,现在我正在尝试开始编写服务代码。它说,第一步,定义服务合同。 msdn给出的示例代码如下
namespace Microsoft.ServiceModel.Samples
{
class Program
{
static void Main(string[] args)
{
}
}
}
和服务合同。
[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
我想问的是,由于我正在为自己的应用程序开发,我实际可以用命名空间替换什么?
答案 0 :(得分:4)
命名空间可以是一个字符串 - 通常它是一个URI,就像你的问题一样,但它也可以是一个简单的虚线命名空间
[ServiceContract(Namespace = "Microsoft.ServiceModel.Samples")]
答案 1 :(得分:3)
合同名称空间只是解决可能冲突的字符串(例如,在版本控制时很有用)。如果省略它,您的WSDL将包含http://tempuri.org。不是你想要的生产。但是,在ServiceContractAttribute
中设置正确的名称并不容易,还有绑定和模式命名空间。为了更好地理解WCF上下文中的WSDL名称空间,我强烈推荐this blog post。