herzustellen, höre ich keinen Verbindungsabhörfehler. Beim Versuch, eine Verbindung zu einem WCF-Dienst mit einem Named Pipe-Endpunkt über die in IIS gehostete Website herzustellen, erhalte ich keinen Endverbindungsfehler.Beim Versuch, eine Verbindung zu einem WCF-Dienst mit dem Named Pipe-Endpunkt aus der Webanwendung in IIS
Es gab keinen Endpunkt, der auf net.pipe empfing: // {machinename}/{ServiceName}, der die Nachricht annehmen konnte. Dies wird oft durch eine falsche Adresse oder eine falsche SOAP-Aktion verursacht. Weitere Informationen finden Sie unter InnerException, falls vorhanden.
Ich werde das Setup erklären. Der WCF-Dienst wird in einem Hintergrundprozess gehostet, der von einer WinForms-Anwendung stammt. Dies dient dem Testzweck und der Hintergrundprozess wird vom Windows-Dienst in der Produktion gestartet. Die Website stellt über den Pipe-Endpunkt eine Verbindung mit dem WCF-Dienst her, der auf demselben Computer ausgeführt wird. Die Webanwendung ist ASP MVC Core, das in IIS unter Windows 10 gehostet wird.
Die Webanwendung stellt eine Verbindung zum Dienst her, wenn sie in IIS Express von Visual Studio (VS2015) ausgeführt wird, schlägt aber fehl, wenn sie in IIS gehostet wird. Das sah nach einem Berechtigungsproblem mit der Website aus, daher habe ich versucht, die Webanwendung unter Benutzer mit Administratorrechten und Anwendungspoolidentität auszuführen, hatte aber kein Glück, es zum Laufen zu bringen.
Der WCF-Hosting-Service-Code ist
_serviceHost = new ServiceHost(typeof(Serviceprovider));
_serviceHost.AddServiceEndpoint(
typeof(IServiceprovider),
new NetNamedPipeBinding
{
ReceiveTimeout = TimeSpan.MaxValue,
},
"net.pipe://" + System.Environment.MachineName + "/Serviceprovider");
_serviceHost.Faulted += new EventHandler(ServiceHostFaulted);
_serviceHost.Open();
Program.cs (Webprojekt)
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
Hat jemand vor dieser Frage konfrontiert oder Anregungen bekam?
Danke, der Link war hilfreich. Ich habe gelernt, wie man die Rohrbindung für die Website konfiguriert. Ich bin jetzt auf einige andere Probleme mit der Verbindung gestoßen, aber Ihre Antworten lösen das ursprüngliche Problem. –