Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Web服务在控制台中工作,但不从IIS服务器上的asp.net网站工作_C#_Asp.net_Web Services - Fatal编程技术网

C#Web服务在控制台中工作,但不从IIS服务器上的asp.net网站工作

C#Web服务在控制台中工作,但不从IIS服务器上的asp.net网站工作,c#,asp.net,web-services,C#,Asp.net,Web Services,我正在使用一个web服务,当我在ASP.NET应用程序中使用默认的IIS Express VS 2010在我的机器上运行它时,它工作得很好。但是,当我使用IIS将其移动到服务器时,会出现以下错误: 错误:在“web service name here”处侦听的终结点无法接受该消息。这通常是由不正确的地址或SOAP操作引起的 “这里的web服务名称”只是我为这篇文章放置的一个占位符。它具有正确的web服务名称 因此,我将这个失败的小登录代码提取到一个控制台应用程序中,并从IIS服务器上运行它,它成

我正在使用一个web服务,当我在ASP.NET应用程序中使用默认的IIS Express VS 2010在我的机器上运行它时,它工作得很好。但是,当我使用IIS将其移动到服务器时,会出现以下错误:

错误:在“web service name here”处侦听的终结点无法接受该消息。这通常是由不正确的地址或SOAP操作引起的

“这里的web服务名称”只是我为这篇文章放置的一个占位符。它具有正确的web服务名称


因此,我将这个失败的小登录代码提取到一个控制台应用程序中,并从IIS服务器上运行它,它成功了!所以我必须假设这是IIS服务器在如何运行我的web服务代码方面的某种权限问题?在我的ASP.NET程序中,我有一个单独的DLL来处理web服务。ASP.NET应用程序触发一个单独的线程,该线程使用我创建的使用web服务的DLL。这可能与单独的线程权限有关吗?有什么想法吗?

当遇到此类问题时,您的第一步是在配置文件中搜索“此处的web服务名称”(或者如果这不是消息,您将获得消息中给出的地址)。我怀疑你会在某个地方设置一个WCF引用,它需要一个正确的IP地址

一旦你得到了地址(假设它看起来有效),你需要检查你可以从有困难的机器上访问它-这可能是防火墙问题


现在,您已确定控制台应用程序已从同一台计算机正确连接,下一步是检查IIS应用程序池和控制台应用程序是否在同一用户帐户/权限下运行。可能是一个身份有权访问网络/互联网,而另一个没有。

“此处的web服务名称”
正在敲响警钟。这真的是一字不差地说的吗?这应该是真正的端点,而这看起来像一个占位符?不,我只是不想显示web服务名称。它具有web服务的正确名称。您可能希望突出显示该名称,因为下面的答案是有效的,如果它这样说的话。您应该更清楚地表明您已经更改了输出!补充了详细说明。我认为这是显而易见的,但我可以看到混乱。很抱歉,我只是为了这篇文章才这么做的。它实际上有正确的web服务名称。@user441521我刚刚展开,听起来好像防火墙在阻止访问。你能通过浏览器从机器上访问这项服务吗?在我的帖子中,我提到我用同样的代码制作了一个C#控制台应用程序,它可以工作。这让我相信这是某种IIS问题。@user441521-再次展开,它们是否以同一用户的身份运行?当我运行控制台应用程序时,我以自己的身份登录。看起来该池正在作为ApplicationPoolIdentity运行。我以前从来没有搞砸过。将不得不测试我的登录,看看这是否有区别。理想情况下,我不希望使用我的ID,因此,也许我必须弄清楚为什么ApplicationPoolIdentity无法从代理之外访问。