using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Web.Security;
using System.ServiceModel.Web;
namespace MvcApplication2
{
// NOTE: If you change the interface name "IService2" here, you must also update the reference to "IService2" in Web.config.
[ServiceContract]
public interface IService2
{
[OperationContract]
[WebInvoke(RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest, Method = " GET " )]
string DoWork();
[OperationContract]
bool Login( string user, string pwd);
[OperationContract]
System.Collections.Generic.List < long > GetRecordIDList();
[OperationContract]
string GetRecordById( long id);
[OperationContract]
System.Collections.Generic.Dictionary < string , string > GetLastRecords( int count);
[OperationContract]
bool UpdateRecordStatus( long id, byte status);
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.Web;
using System.Web.Security;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
namespace MvcApplication2
{
// NOTE: If you change the class name "Service2" here, you must also update the reference to "Service2" in Web.config.
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service2 : IService2
{
public string DoWork()
{
return System.DateTime.Now.ToString();
}
protected bool Validate()
{
HttpCookie hc = HttpContext.Current.Request.Cookies[ " u " ];
if (hc != null )
{
string v = hc.Value;
return true ;
}
return false ;
// if()
}
public bool Login( string user, string pwd)
{
if (user == pwd)
{
HttpCookie hc = new HttpCookie( " u " );
hc.Value = user;
HttpContext.Current.Response.Cookies.Add(hc);
return true ;
}
return true ;
}
public List < long > GetRecordIDList()
{
throw new NotImplementedException();
}
public string GetRecordById( long id)
{
if (Validate())
{
return " abc " ;
}
return " 0 " ;
}
public Dictionary < string , string > GetLastRecords( int count)
{
throw new NotImplementedException();
}
public bool UpdateRecordStatus( long id, byte status)
{
throw new NotImplementedException();
}
}
}
代码
< system.serviceModel >
< serviceHostingEnvironment aspNetCompatibilityEnabled = " true " />
< services >
< service behaviorConfiguration = " MvcApplication2.Service2Behavior "
name = " MvcApplication2.Service2 " >
< endpoint address = "" binding = " wsHttpBinding " contract = " MvcApplication2.IService2 " >
< identity >
< dns value = " localhost " />
</ identity >
</ endpoint >
< endpoint address = " mex " binding = " mexHttpBinding " contract = " IMetadataExchange " />
</ service >
</ services >
< behaviors >
< serviceBehaviors >
< behavior name = " MvcApplication2.Service2Behavior " >
< serviceMetadata httpGetEnabled = " true " />
< serviceDebug includeExceptionDetailInFaults = " false " />
</ behavior >
</ serviceBehaviors >
</ behaviors >
</ system.serviceModel >
< system.serviceModel >
< serviceHostingEnvironment aspNetCompatibilityEnabled = " true " />
< services >
< service behaviorConfiguration = " MvcApplication2.Service2Behavior "
name = " MvcApplication2.Service2 " >
< endpoint address = "" binding = " wsHttpBinding " contract = " MvcApplication2.IService2 " >
< identity >
< dns value = " localhost " />
</ identity >
</ endpoint >
< endpoint address = " mex " binding = " mexHttpBinding " contract = " IMetadataExchange " />
</ service >
</ services >
< behaviors >
< serviceBehaviors >
< behavior name = " MvcApplication2.Service2Behavior " >
< serviceMetadata httpGetEnabled = " true " />
< serviceDebug includeExceptionDetailInFaults = " false " />
</ behavior >
</ serviceBehaviors >
</ behaviors >
</ system.serviceModel >
http://www.cnblogs.com/shanyou/archive/2009/09/06/1561429.html
http://www.cnblogs.com/artech/archive/2009/06/25/1511165.html