我在双工模式下设置了一个小型WCF服务。该服务在Windows 8应用程序中使用。客户端计算机是Windows域的成员。如果存在与Domaincontroller的连接,则会出现错误:
TCP error code 10013: An attempt was made to access a socket in a way forbidden by its access permissions
如果建立了与DC的连接但服务器和客户端在同一台计算机上运行,则不会发生这种情况。但是通过网络连接失败了。
奇怪的是,如果我通过不同的网络连接服务器和客户端而没有连接到DC,一切正常。我尝试过设置一个accesspolicy.xml,但这没有帮助。
这是服务器配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
</appSettings>
<system.web>
<compilation debug="true" />
</system.web>
<!-- Bei der Bereitstellung des Dienstbibliothekprojekts muss der Inhalt der Konfigurationsdatei der app.config-Datei
des Hosts hinzugefügt werden. System.Configuration unterstützt keine Konfigurationsdateien für Bibliotheken. -->
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="netTcpBindConfig">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<services>
<service name="PizzaService.PizzaGame">
<endpoint address="" binding="netTcpBinding" contract="PizzaService.IPizzaGame" bindingConfiguration="netTcpBindConfig">
</endpoint>
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://host:8733/Design_Time_Addresses/PizzaService/Service1/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- Legen Sie die Werte unten vor der Bereitstellung
auf "false" fest, um die Veröffentlichung von Metadateninformationen zu vermeiden. -->
<serviceMetadata />
<!-- Damit in Fehlern Ausnahmedetails zum Debuggen angezeigt werden,
legen Sie den Wert unten auf "true" fest. Legen Sie ihn vor der Bereitstellung auf "false" fest,
um die Veröffentlichung von Ausnahmeinformationen zu vermeiden. -->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
答案 0 :(得分:0)
好的,这可以被认为是解决了。 Windows 8应用程序需要在Visual Studio中的应用程序设置中请求权限“专用网络(客户端和服务器)”。