2010-10-21 111 views

回答

1

你有没有考虑自托管你的服务,而不是尝试使用IIS。这可能比使用IIS更容易完成。

+0

我现在下去创建一个自托管服务来获得从IIS走的路线。然而,我不确定的一件事是并发使用线程。 IIS免费提供 - 我如何确定连接到我的控制台应用程序的n个客户端都将获得无阻塞的服务? – Snowy 2010-10-24 19:28:07

+0

@ScSub我的自我托管WCF服务的经验是,你不必担心它。 – 2010-10-24 20:09:30

7

经过相当多的努力之后,我能够在XP/IIS5上成功部署WCF 4.0 REST Web服务。为了您和他人在相同的情况下受益,这是我没有(让我知道如果你需要更多的细节):

  1. 使用VS 2010,建立一个部署 包项目,然后 安装它在目标机器 (您的Web服务器)上。以下 链接将告诉你如何执行此操作:http://vishaljoshi.blogspot.com/2009/03/web-packaging-installing-web-packages.html

  2. 确保您的虚拟目录在IIS中配置为使用.NET 4(右键单击虚拟目录>属性> ASP.NET选项卡> ASP.NET版)

  3. 配置虚拟目录创建一个通配符映射,支持扩展名的请求(即您的REST API)(右键单击虚拟目录>属性>配置>具有以下属性映射选项卡):
    可执行 :C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll
    扩展:*
    检查文件是否存在:选中
    (注:注意,保持此对话框中显示为灰色的“OK”按钮的bug。要解决这个问题,只需在输入扩展名后点击可执行文本框并点击“确定”按钮即可)。

  4. 如果您在访问服务时收到验证错误,请关闭虚拟目录上的集成验证。如果您在服务的生成web.config中使用了默认值,这应该可以解决问题。如果您明确修改了身份验证模式,则必须相应地进行修改。

+0

感谢BitMask777。我没有取消选中**检查文件是否存在**。所以它使我的Web服务无法正常运行。 – 2011-02-21 21:34:51

+0

伟大的步骤,这让我在安装.NET 4.0后需要去的地方!谢谢! – 2011-02-25 19:42:28