我想在c#中创建一个WCF应用程序或[应用程序],用于通过基于我的HTML的应用程序发送的响应查询。
假设我向url发送查询,他们通过调用已经安装在用户系统中的TCP socet来回应我。
你能告诉我可以通过HTML在本地调用它们吗?他们允许他们打电话吗。
我是否可以使用HTML,css,javascript调用WCF和WCF来响应查询。
答案 0 :(得分:2)
WCF是一种通信框架,支持您提到的所有场景。可以从基于Web的技术和基于Windows的Web轻松访问WCF。 ]
一个文件没有配置WCF服务。
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Runtime.Serialization;
using System;
[ServiceContract]
public interface AddStuff
{
[OperationContract]
int Add(int X,int Y);
}
public class opAddStuff : AddStuff
{
public int Add(int X, int Y)
{
return X + Y;
}
}
public class Pgm
{
static void Main(string[] args)
{
string httpAddr = "http://127.0.0.1:6001/AddStuff";
string netAddr= "net.tcp://127.0.0.1:5001/AddStuff";
System.ServiceModel.ServiceHost SH = new ServiceHost(typeof(opAddStuff),new Uri(httpAddr));
BasicHttpBinding B = new BasicHttpBinding();
NetTcpBinding NB = new NetTcpBinding();
SH.AddServiceEndpoint(typeof(AddStuff), B, httpAddr);
SH.AddServiceEndpoint(typeof(AddStuff), NB, netAddr);
System.ServiceModel.Description.ServiceMetadataBehavior smb = SH.Description.Behaviors.Find<ServiceMetadataBehavior>();
// If not, add one
if (smb == null)
smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
SH.Description.Behaviors.Add(smb);
SH.AddServiceEndpoint( ServiceMetadataBehavior.MexContractName, MetadataExchangeBindings.CreateMexHttpBinding(), "mex");
SH.Open();
Console.WriteLine("Service at your service");
string crap = Console.ReadLine();
}
}
答案 1 :(得分:1)
这是一个足够简单的起点http://www.codeproject.com/KB/WCF/GettingStartedWithWCF.aspx。
如果您想立即开始使用代码,请在Visual Studio中创建一个“WCF服务应用程序”类型的新项目。然后,您将获得可以运行的骨架服务。右键单击Service.svc文件 - &gt;浏览。服务“帮助”(蓝色主题)页面将在互联网浏览器中显示,并且您有一个正在运行的wcf服务。
该服务的代码位于Service.svc.cs文件中,该服务实现的合同位于IService.cs文件中。