usa servicio que pueden puede publicación protocolo obtener metadatos habilitar extremo enlace deberse c# asp.net wcf

c# - servicio - no se pueden obtener metadatos de https



¿Es posible acceder al servicio WCF sin agregar referencia de servicio? (5)

Necesito acceder a los métodos de servicio de Wcf sin agregar Service Reference. ¿Cómo hacer esto?

Paso 1: creo un servicio WCF.
Paso 2: Agregar referencia de servicio a mi aplicación.
Paso 3: Y accede a los métodos de servicio WCF en la aplicación.

de esta manera,

ServiceReference1.Service1Client obj = new ServiceReference1.Service1Client(); protected void Button1_Click(object sender, EventArgs e) { UserDetails userInfo = new UserDetails(); userInfo.UserName = TextBoxUserName.Text; userInfo.Password = TextBoxPassword.Text; userInfo.Country = TextBoxCountry.Text; userInfo.Email = TextBoxEmail.Text; string result = obj.InsertUserDetails(userInfo); LabelMessage.Text = result; }


Arriesgando la mafia de lynch markdown con esto, pero ...

Si la razón por la que no está agregando la referencia es porque debe elegir la URL en tiempo de ejecución, aún puede agregar la referencia y luego cambiarla cuando lo necesite con:

MyProxy.Endpoint.Address = new EndpointAddress(MyUri);

(o haga lo mismo en el constructor cuando realice una instancia).


Cuando John hizo esto: "Paso 2: Agregar una referencia de servicio a mi aplicación". Visual Studio agregó el punto final y los enlaces predeterminados al archivo app.config de su aplicación. No necesita especificar una URL. El código de John debería funcionar bien siempre y cuando el servicio haya implementado los contratos requeridos.


No tengo reputación de comentar la respuesta de "Thilina H", pero puedes usar el código

ServiceContract channel = factory.CreateChannel();

solo si escribiste:

var factory = new ChannelFactory<ServiceContract>(binding, address);

en lugar

ChannelFactoryfactory = new ChannelFactory<ServiceContract>(binding, address);


Sí, es posible invocar como servicio WCF sin agregar una referencia de servicio.

Como primer paso, asumo que tiene su interfaz de contacto de servicio como una biblioteca de clases separada.

Paso 2: crea tu servicio WCF y alojalo en IIS

Paso 3: Consulte la biblioteca de contratos de servicio en la aplicación cliente y luego siga este código

ChannelFactory<IYourServiceContract> factory = new ChannelFactory<IYourServiceContract>("EndpointNameOfYourService"); factory.Endpoint.Address = new EndpointAddress("http://example.com/service"); IYourServiceContract client = factory.CreateChannel(); var result = client.YourMethodtoInvoke(serviceArguments);

Espero que esto ayude


Se puede utilizar de la siguiente manera. Solo asegúrese de agregar la referencia del contrato de servicio.

BasicHttpBinding binding = new BasicHttpBinding(); EndpointAddress address = new EndpointAddress("http://localhost:4684/Service1.svc"); ChannelFactory factory = new ChannelFactory<ServiceContract>(binding, address); ServiceContract channel = factory.CreateChannel(); string resturnmessage = channel.YourMethod("test");

Desde here se puede entrenar al respecto.