Tag: wcf hosting

在IIS 7.5中部署WCF服务

我是WCF的新手。 我期待步骤在IIS上部署WCF并使用该服务。 我遵循与在IIS上部署网站相同的步骤,也将默认文档设置为Service1.svc 现在当我尝试使用这个wcf服务时,它给了我以下错误。 Metadata contains a reference that cannot be resolved: ‘http://manish-pc:8000/Service1.svc?wsdl’. The WSDL document contains links that could not be resolved. There was an error downloading ‘http://manish-pc:8000/Service1.svc?xsd=xsd0’. The underlying connection was closed: An unexpected error occurred on a receive. Unable to read data from the transport connection: An existing connection was forcibly closed […]

使用SelfHosting时,我可以自动托管app.config中的所有服务吗?

我正在编写一个需要托管多个WCF服务的应用程序。 WCF的优势之一是能够通过在app.config文件中指定设置来配置服务而无需重新编译。 在自托管时,似乎没有一种开箱即用的方式来自动托管app.config文件中的服务。 我发现这个问题提到了一个可能的解决方案,即在运行时动态枚举app.config中列出的服务,并为每个服务创建一个ServiceHost。 但是,我的服务,合同和托管应用程序都在不同的程序集中。 这会导致Type.GetType(string name)无法找到我的服务类型(返回null ),因为它是在不同的程序集中定义的。 如何动态地托管app.config文件中列出的所有服务(即,在我的自托管应用程序中没有硬编码new ServiceHost(typeof(MyService)) ? 注意:我的app.config是使用Visual Studio 2010中的“WCF配置编辑器”生成的。 另请注意:我的主要目标是由app.config文件驱动,因此只有一个配置点。 我不想在一个单独的位置配置它。 编辑 :我能够读取app.config文件(请参阅此处 ),但需要能够解析不同程序集中的类型。 编辑 :下面的答案之一促使我尝试在app.config中指定AssemblyQualifiedName而不仅仅是基本类型名称。 这可以解决Type.GetType()问题,但是无论我如何获得类型, ServiceHost.Open()现在都会失败并出现InvalidOperationException : // Fails string typeName = typeof(MyService).AssemblyQualifiedName; Type myType = Type.GetType(typeName); ServiceHost host = new ServiceHost(myType); host.Open(); // throws InvalidOperationException // Also fails Type myType2 = typeof(MyService); ServiceHost host2 = new ServiceHost(myType2); […]