【发布时间】:2013-11-16 06:11:23
【问题描述】:
当我尝试在 IIS 而不是 ASP.NET 开发服务器上运行 WCF 服务时出现错误。
澄清:我在使用 Windows 服务或 ASP.NET 开发服务器时运行 WCF 服务时没有收到错误消息。 只有 IIS 是问题所在。
我正在使用控制台应用程序来测试服务。在我尝试使用 IIS 端口之前,我从未遇到过服务问题。
这是我的控制台应用程序的 app.config 文件。顶部地址和端口号是 ASP.NET 开发服务器端口。第二个是IIS端口。
以下是我的 App.config 文件。最上面的一个 IIS 端口。活动的一个是 ASP.NET 开发服务器端口。当我运行 ASP.NET 端口时,我没有收到任何错误。当我运行 IIS 端口时,出现错误。 (另外我的任务栏上出现了大约 4 个 ASP.NET 端口。我不知道为什么。)
我的 App.config 文件如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IWebService" />
</wsHttpBinding>
</bindings>
<client>
<!-- <endpoint address="http://localhost:9876/Service.svc" binding="wsHttpBinding"-->
<endpoint address="http://localhost:5182/Service.svc" binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IWebService"
contract="MyWCF_ServiceReference.IWebService"
name="WSHttpBinding_IWebService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
这里有一些图片。
这是我收到的错误消息。
下面的地址和前面的地址不一样有什么原因吗? http:// localhost:8732 /Design_Time_Addresses/WCFServiceLibrary/WebService/mex
这是由于某种未知原因而崩溃的地方。值得注意的是,部分服务有效。只有当它到达 ValidPerson 时才会崩溃。
(在使用 ASP.NET 开发服务器端口 5182 时也不会发生这种情况。仅在使用 IIS 端口 9876 时)
这表明在 WCF 服务本身,ValidPerson 确实在工作。
这是运行的conf文件。
我希望你们能帮助我。一定很简单。
【问题讨论】:
-
重启你的机器/IIS并尝试..它可能是缓存。
-
我试试看。
-
这不起作用。出于某种原因,它在端口 9876 处崩溃,但不在 5182 端口(ASP.NET 开发服务器)处崩溃。
-
我想我知道问题所在。在意识到它适用于我的 Windows 服务后,一位朋友打电话给我,我正在和他交谈并告诉他,它部分适用于 IIS。只有当它到达崩溃的数据库时!他说这一定是权限问题。当我第一次这样做时,我担心应用程序池的权限,但我认为这没问题,因为我使用的是同一个应用程序池。那是在不同的服务器和不同的数据库上!所以这可能就是问题所在!
标签: c# asp.net wcf iis service