【问题标题】:What is running my WCF Service?什么在运行我的 WCF 服务?
【发布时间】: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


【解决方案1】:

好吧,虽然我边走边学,但我问的问题并不正确。

我需要确保配置文件中的地址与 ASP.NET 开发服务器的地址(很可能是默认地址)匹配,或者将其更改为 IIS 地址,这需要我检查 WSDL 的托管位置adn 使用该地址而不是默认地址。或者使用分配给我的 Windows 服务的地址,我可以通过打开项目文件并查看分配给它的编号和地址来找到它。

真正的问题是我在 SQL Server 中的应用程序池帐户需要设置为 db_owner 角色。然后我所有的问题都消失了(一旦我用正确的地址在正确的端口上得到它。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    相关资源
    最近更新 更多