我创建了一个托管服务的控制台应用程序...... 现在我想接受服务并在iis7上托管它
我创建了.svc文件
配置了iis7
http://i.stack.imgur.com/Ehfhs.jpg
我放在外部目录中的所有编译代码:
http://i.stack.imgur.com/k0gAh.jpg
和APP代码文件夹中的bin文件...
它告诉我: http://i.stack.imgur.com/B3NKn.jpg
我错过了什么?
我可以将控制台主机转换为iis主机吗?
首先应该是网站吗?
该服务是否还需要配置(在我的控制台应用程序中它没有 - 只有主机).....?附:你可以看到我在这里克隆了配置。 (对服务目录)以及输出目录。
答案 0 :(得分:0)
最简单的方法是创建一个新的空ASP.NET应用程序,您可以向其添加新的WCF服务。然后,只需将生成的代码替换为您的服务代码即可。
我认为您的代码不起作用的原因是因为您有一个ASP.NET网站(而不是ASP.NET应用程序),而在.svc文件中,您只是指定服务的名称而不是代码隐藏包含它的文件。由于未编译ASP.NET网站,因此您需要specify this:
<% @ServiceHost
Service="Service.Class1"
Debug="Debug"
Language="C#"
CodeBehind="~/App_Code/Class1.cs"
%>
另外,您在APP代码文件夹中提到了一些 bin文件。如果在程序集中有一些预编译服务,则此程序集应位于〜/ bin文件夹中。在预编译的ASP.NET应用程序中,您不应该有任何App_Code文件夹。它实际上有两种不同的模式:应用程序与网站。由你来决定你喜欢哪种模式。