Hi I have a service which is implementing pollingduplex of wcf.I am able to use it in silverlight By giving Binding and Address as it is async call.But I am not able to use it ASP.Net .So can any one help me in consuming it in ASP.net
public partial class UIChat : System.Web.UI.Page, IServiceCallback
{
public EndpointAddress servAddress = null;
public PollingDuplexHttpBinding binding = null;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnJoin_Click(object sender, EventArgs e)
{
servAddress = new EndpointAddress("http://localhost:59849/MyService.svc");
var binding = new PollingDuplexHttpBinding();
binding.DuplexMode = PollingDuplexMode.MultipleMessagesPerPoll;
InstanceContext objIC = new InstanceContext(this);
ServiceClient obj = new ServiceClient(objIC,binding,servAddress);
string data= obj.JoinChat(txtJoin.Text);
lblUser.Text = data;
}
public void ReciveMessage(string message)
{
throw new NotImplementedException();
}
public void UserJoined(string[] users)
{
lblUser.Text = users[0].ToString();
}
public void UserLeft(string[] users)
{
throw new NotImplementedException();
}
}
}
Web.config
="1.0"
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<extensions>
<bindingExtensions>
<add name="pollingDuplexHttpBinding"
type="System.ServiceModel.Configuration.PollingDuplexHttpBindingCollectionElement,System.ServiceModel.PollingDuplex, Version=4.0.0.0,Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</bindingExtensions>
</extensions>
<services>
<service name="WebChatService.MyService" behaviorConfiguration="ServBehave">
<endpoint
address=""
binding="pollingDuplexHttpBinding"
contract="WebChatService.IService"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" ></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServBehave">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false"
/>
</system.serviceModel>
</configuration>
Interface Part
using System.Collections.Generic;
using System.ServiceModel;
using System.Runtime.Serialization;
namespace WebChatService
{
[ServiceContract(CallbackContract = typeof(IServiceCallback))]
public interface IService
{
[OperationContract]
string JoinChat(string emailId);
[OperationContract(IsOneWay = true)]
void LeaveChat(string emailId);
[OperationContract(IsOneWay = true)]
void RemoveUserFromChat(string emailId);
}
public interface IServiceCallback
{
[OperationContract(IsOneWay = true)]
void ReciveMessage(string message);
[OperationContract(IsOneWay = true)]
void UserJoined(IEnumerable<string> users);
[OperationContract(IsOneWay = true)]
void UserLeft(IEnumerable<string> users);
}
}