C# 什么在运行我的WCF服务?

C# 什么在运行我的WCF服务?,c#,asp.net,wcf,iis,service,C#,Asp.net,Wcf,Iis,Service,尝试在IIS而不是ASP.NET开发服务器上运行WCF服务时出错 澄清:我在使用Windows服务或ASP.NET开发服务器时运行WCF服务时没有收到错误只有IIS是问题所在。 我正在使用一个控制台应用程序来测试服务。在尝试使用IIS端口之前,我从未遇到过该服务的问题 这是控制台应用程序的my app.config文件。顶级地址和端口号是ASP.NET开发人员服务器端口。第二个是IIS端口 以下是我的App.config文件。最上面的一个IIS端口。活动端口是ASP.NET开发服务器端口。当我运

尝试在IIS而不是ASP.NET开发服务器上运行WCF服务时出错

澄清:我在使用Windows服务或ASP.NET开发服务器时运行WCF服务时没有收到错误只有IIS是问题所在。

我正在使用一个控制台应用程序来测试服务。在尝试使用IIS端口之前,我从未遇到过该服务的问题

这是控制台应用程序的my 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\u Time\u Addresses/WCFServiceLibrary/WebService/mex

这就是它因未知原因而崩溃的地方。值得注意的是,部分服务是有效的。只有当它到达ValidPerson时才会崩溃

(使用ASP.NET开发服务器端口5182时也不会发生这种情况。仅当使用IIS端口9876时才会发生)

这表明在WCF服务本身,ValidPerson实际上正在工作

这是运行它的conf文件


我希望你们能帮助我。一定很简单。

好吧,虽然我边走边学,但我问的问题不对

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


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

重新启动您的计算机/IIS,然后再试一次。。可能是缓存的问题。我会尝试一下。这不起作用。由于某些原因,它在9876端口崩溃,但在5182端口(ASP.NET开发服务器)却没有崩溃。我想我知道这个问题。在意识到它可以与我的Windows服务协同工作后,一位朋友打电话给我,我正在与他交谈,告诉他,它部分可以与IIS协同工作。只有当它到达数据库时才会崩溃!他说这一定是权限问题。当我第一次这样做时,我担心应用程序池的权限,但我认为这没问题,因为我使用的是同一个应用程序池。那是在不同的服务器和不同的数据库上!所以这可能就是问题所在!