Я использую ASP.NET 4 WCF Services для некоторых транзакций данных. Чтобы предотвратить CSRF (подделка межсайтовых запросов), я хотел бы добавить некоторые данные к выводу. Любые предложения о том, как это сделать?
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class TestService : ServiceBase
{
[WebGet(
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/test.json")
]
public MyResponse Test ()
{
MyResponse resp;
try
{
Response.Write("for(;;){}"); // <-- Fix needed
resp = new MyResponse();
}
catch (Exception ex)
{
AjaxException aex = new AjaxException() {
message = string.Format("Test failed. Exception: {0}.", ex.Message)
};
throw new WebFaultException<AjaxException>(aex, HttpStatusCode.InternalServerError);
}
return resp;
}
}
[DataContract]
public class MyResponse {
public MyResponse() { }
[DataMember()]
public long time = ServiceUtility.Convert(DateTime.Now);
[DataMember()]
public string secret { get; set; }
}