wcf 启动时报错协定需要双工 nettcp协议
host = new ServiceHost(typeof(WcfServiceLibrary3.Service1));
if (host.State != CommunicationState.Opening || host.State != CommunicationState.Opened)
{
host.Open();
MessageBox.Show("启动成功");
}
else
{
MessageBox.Show("已经启动");
}
*******************************************************************
[ServiceContract(Namespace="",SessionMode=SessionMode.Allowed, CallbackContract = typeof(IMessageCallBack))]
public interface IService1
{
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
[OperationContract]
void UpLoadFile(FileData files);
[OperationContract]
void UpLoadFiles(FileType FileType);
[OperationContract]
void UpLoadFilesss(List<FileType> FileTypes);
// TODO: 在此添加您的服务操作
}
public interface IMessageCallBack
{
[OperationContract(IsOneWay=true)]
void OnMessageAdded(string message);
}
[解决办法]
transferMode="Streamed"
必须改为
transferMode="Buffered"
Streamed模式不支持双工。
[解决办法]