Visual studio 为什么我的WCF托管在IIS中无法工作,除非我正在调试?

Visual studio 为什么我的WCF托管在IIS中无法工作,除非我正在调试?,visual-studio,wcf,iis,Visual Studio,Wcf,Iis,我在本地计算机上的IIS中托管了一个WCF应用程序。IIS和主机文件中的主机名为“serv.xxxx.local”。我的应用程序池正在IIS中运行,我的net.tcp端口共享服务也在我的服务中运行 但是,当我尝试从MVC应用程序中使用此wcf服务时,它不起作用,除非我将我的wcf项目附加到Visual Studio中的进程 为什么我可以只使用WCF服务而不在Visual Studio中进行调试 顺便说一下,我正在运行WINDOWS 10,我注意到IIS中没有自动启动网站 问题是为我的WCF服务配

我在本地计算机上的IIS中托管了一个WCF应用程序。IIS和主机文件中的主机名为“serv.xxxx.local”。我的应用程序池正在IIS中运行,我的net.tcp端口共享服务也在我的服务中运行

但是,当我尝试从MVC应用程序中使用此wcf服务时,它不起作用,除非我将我的wcf项目附加到Visual Studio中的进程

为什么我可以只使用WCF服务而不在Visual Studio中进行调试


顺便说一下,我正在运行WINDOWS 10,我注意到IIS中没有自动启动网站

问题是为我的WCF服务配置的应用程序池没有访问我的SQL Server数据库的权限。我不得不将应用程序池添加到SQL Server中的登录列表中

为此:

1) 开放式SQL Server

2) 展开安全树

3) 右键单击“登录”

4) 添加你的应用程序池。e、 g“IIS AppPool\”并单击确定

5) 右键单击刚刚创建的登录名并单击属性,然后在UserMappings选项卡中选择要访问的数据库,然后选择datareader和datawriter,单击ok


之后一切都会好起来。

你能追踪你的MVC应用程序使用的WCF url吗。我猜您有一个存储url的web.config文件问题。?另外,如果一切都是本地的,为什么不尝试使用localhost?@ife labolz,您的意思是它在调试您的WCF项目时工作良好,但在运行web客户端时不工作?如果是这样,我认为Dhawalk的建议是正确的,您需要检查您是否真的正确配置了web.config。当然,如果您收到任何错误消息,也请在此处共享。@ife labolz,您现在可以运行您的客户端应用程序吗?@jackzai MSFT我仍然无法澄清,我已经在IIS中托管了我的WCF,我通常使用一个类似于serv.fleed.local的url来运行我的项目,这是一个调用我的WCF项目的MVC应用程序。例如,当用户从提供的url登录到该应用程序时,它会对WCF项目进行服务调用,现在这似乎只在WCF处于调试模式时起作用,所以当我从Visual studio运行该项目时。不应该是这样,因为它已经托管在IIS中(mvc应用程序和wcf应用程序),并且应用程序池正在运行。