在IIS中托管WCF应用程序

时间:2015-09-21 06:20:17

标签: c# wcf iis

我正在创建一个WCF项目。该项目包含两个应用程序:一个是基于控制台的,包含很少的类来支持数据库操作,如“插入”,“更新”,“加密”等。另一个是包含操作合同的WCF服务应用程序。现在,WCF服务应用程序将使用控制台应用程序进行数据库操作。 我想知道在IIS中托管这个项目的过程。我有自己的想法,请指导我是对还是错:

第一步 - 首先,我将构建控制台应用程序并在WCF应用程序中添加引用。

步骤II - 完成WCF任务后,我将仅在IIS中托管WCF应用程序。

这个过程是否正确?请指导我正确有效的方式。

感谢。

3 个答案:

答案 0 :(得分:0)

您应该拆分控制台应用程序。 控制台应用程序和WCF应用程序都应该使用包含其中所有逻辑的DLL。

一旦您拆分解决方案,您的WCF就不会有任何与控制台应用程序交互的问题。

答案 1 :(得分:0)

我假设您希望将项目作为控制台应用程序托管,以便开发消费者。如果是这样,那么您可能不必创建另一个应用程序,您可以使用Visual Studio本身运行wcf项目,它可以将其作为IIS Express服务运行。您还可以轻松调试应用程序,以防需要解决问题。

完成后,您可以将其移动到IIS并使用任何首选绑定(如basicHttpBinding或netTcpBindings)托管它。您必须确保在IIS中启用协议 - >您的网站 - >高级设置 - >启用协议。如果需要http绑定或net.tcp,请根据配置要求输入http,net.tcp等值。

始终在项目早期添加log4net之类的日志框架,因为它可以帮助我们通过启用日志记录来调试罕见问题。

答案 2 :(得分:0)

首先,引用控制台应用程序不是正确的方法,换句话说是坏代码。出于测试或开发目的,他们使用了控制台应用程序。

我的建议是,添加新的类库项目并将所有类文件从控制台应用程序移动到此类库项目。将此库项目引用到您的WCF服务并开始构建应用程序。

现在您可以右键单击WCF项目并单击发布。