| |
ASP.NET, WebServices u. RemotingWCF von PC zu PC | | | Autor: mkolb | Datum: 24.10.16 19:37 |
| Hallo,
ich möchte eine Kommunikation von PC zu PC durchführen, d. h. einfach etwas vom Client zum Host abfragen/übertragen. Dazu wollte ich WCF verwenden.
Habe dazu eine Demo gefunden, die funktioniert, allerdings nur innerhalb des PCs.
Wenn ich die Demo auf 2 unterschiedlichen PCs verteile und von Client auf den Host zugreifen möchte, dann geht es nicht.
z. B. erhalte ich folgende Fehlermeldung:
The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it is in the Faulted state
Im Host steht folgender Code:
static void Main(string[] args)
{
try
{
using (ServiceHost host = new ServiceHost(typeof(WcfHost)))
{
Uri baseAddress = new Uri("net.tcp://sv1:8080/MeinService");
WSHttpBinding b = new WSHttpBinding();
b.Security.Mode = SecurityMode.Message;
b.Security.Message.ClientCredentialType = _
MessageCredentialType.Certificate;
NetTcpBinding binding = new NetTcpBinding();
host.AddServiceEndpoint(typeof(IWcfHost), binding, _
baseAddress);
host.Open();
Console.WriteLine("Service started, press any key to finish" & _
"execution.");
Console.ReadKey();
host.Close();
}
}
catch (Exception ex)
{
Console.WriteLine("Host:" + ex.Message);
Console.ReadKey();
}
} Der Client hat folgenden Code:
public Form1()
{
InitializeComponent();
try
{
Uri baseAddress = new Uri("net.tcp://sv5:8080/MeinService");
WSHttpBinding b = new WSHttpBinding();
b.Security.Mode = SecurityMode.Message;
b.Security.Message.ClientCredentialType = _
MessageCredentialType.Certificate;
EndpointAddress address = new EndpointAddress(baseAddress);
NetTcpBinding binding = new NetTcpBinding();
ChannelFactory<IWcfHost> factory = new _
ChannelFactory<IWcfHost>(binding, address);
host = factory.CreateChannel();
}
catch (Exception ex)
{
Console.WriteLine("Client:"+ex.Message);
Console.ReadKey();
}
} Ich habe bereits auf beiden PCs (Server2012R2+ Workstation Windows10) jeweils die Firewall deaktiviert.
Leider geht es nicht.
Muß ich noch irgendwie/irgendwo eine Art Authentifizierung durchführen ?
Tschau
Martin
mein aktuelles .net-Projekt:
http://www.fiman.de
freue mich über Test-Informationen.
Screenshots gibt es hier: http://www.fiman.de | |
Re: WCF von PC zu PC | | | Autor: mkolb | Datum: 30.10.16 13:57 |
| Hallo,
habe festgestellt, bei der kleinen Demo muß der PC-Name als IP angegeben werden:
z. B.
Uri baseAddress = new Uri("net.tcp://sv1:192.168.0.100/MeinService"); Tschau
Martin
mein aktuelles .net-Projekt:
http://www.fiman.de
freue mich über Test-Informationen.
Screenshots gibt es hier: http://www.fiman.de | |
Re: WCF von PC zu PC | | | Autor: effeff | Datum: 30.10.16 18:18 |
| //habe festgestellt, bei der kleinen Demo muß der PC-Name als IP angegeben werden//
Es reicht schon, entweder DNS zu betreiben oder im einfachsten Fall einen Eintrag in die "hosts" vorzunehmen, damit Dein armer Rechner auch weiß, wie er den PC-Namen auflösen (also vom einem Namen zu einer IP) soll...
Wenn Dein Rechner keinen Eintrag in die "hosts" hat, um einen Namen zu einer IP aufzulösen, oder Du keinen DNS-Server betreibst, der dieses dann übernimmt, wird Dein Rechner seinen Gegenpart nie finden. Die direkte Angabe einer IP-Adresse funktioniert zwar, aber es kann immer noch sein, dass sich diese IP-Adresse ändert, weil das Lease abgelaufen ist (sofern keine statische IP-Adresse benutzt wird). In dem Fall wäre die Benutzung eines DNS-Servers am geschicktesten.
EALA FREYA FRESENA | |
Re: WCF von PC zu PC | | | Autor: mkolb | Datum: 30.10.16 18:24 |
| Hi,
also, DNS ist eingerichtet. Ansonsten kann ich die PCs mit dem DNS-Namen aich anpingen.
Daher war ich davon ausgegangen, daß es auch so ginge.
In dem Fall ging es wirklich nur mit der IP-Adresse.
Tschau
Martin
mein aktuelles .net-Projekt:
http://www.fiman.de
freue mich über Test-Informationen.
Screenshots gibt es hier: http://www.fiman.de | |
Re: WCF von PC zu PC | | | Autor: effeff | Datum: 30.10.16 23:01 |
| Was für eine Umgebung hast Du denn? Benutzt Du AD?
EALA FREYA FRESENA | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|