2016-11-18 70 views
0

我创建WCF服务,查询Oracle数据库和JSON format.How返回结果的结果从Oracle查询转换到JSON消息返回JSON作为WCF服务的结果

public class Service1 : IService1 
{ 
    public HttpResponseMessage GetData(string ROOM) 
{ 
    List<OracleParameter> prms = new List<OracleParameter>(); 
    prms.Add(new OracleParameter("ROOM", OracleDbType.Varchar2, ROOM, ParameterDirection.Input)); 
    string connStr = ConfigurationManager.ConnectionStrings["TGSDataBaseConnection"].ConnectionString;   using (OracleConnection dbconn = new OracleConnection(connStr)) 
    { 
     DataSet userDataset = new DataSet(); 
     var strQuery = "SELECT * from LIMS_SAMPLE_RESULTS_VW where ROOM = :ROOM"; 
     var returnObject = new { data = new OracleDataTableJsonResponse(connStr, strQuery, prms.ToArray()) }; 
     var response = Request.CreateResponse(HttpStatusCode.OK, returnObject, MediaTypeHeaderValue.Parse("application/json")); 
     ContentDispositionHeaderValue contentDisposition = null; 
     if (ContentDispositionHeaderValue.TryParse("inline; filename=TGSData.json", out contentDisposition)) 
     { 
      response.Content.Headers.ContentDisposition = contentDisposition; 
     } 
     return response; 
    } 

它抛出一个喜欢的名字是“请求”错误不会在目前的情况下存在于线

var response = Request.CreateResponse(HttpStatusCode.OK, returnObject, MediaTypeHeaderValue.Parse("application/json")); 

我加入了

using System.Net.Http; 
using System.Net.Http.Formatting; 
using System.Net.Http.Headers; 

并补充他们的组件作为参考。但仍表现出了同样的错误。 enter image description here

+0

是什么反应呢? –

+0

@viveknuna响应是我们从Oracle数据库 – xyz

回答

0

尝试改变RequestHttpContext.Current.Request

+0

得到它dosent工作太 – xyz

+1

可以共享错误? – Mike

+0

'实例参数:无法从'System.Web.HttpRequest'转换为'System.Net.Http.HttpRequestMessage'\t 参数4:无法从'System.Net.Http.Headers.MediaTypeHeaderValue'转换为'System.Web。 Http.HttpConfiguration' 'System.Web.HttpRequest'不包含'CreateResponse'的定义和最好的扩展方法重载'System.Net.Http.HttpRequestMessageExtensions.CreateResponse (System.Net.Http.HttpRequestMessage,System.Net .HttpStatusCode,T,System.Web.Http.HttpConfiguration)”具有一些无效arguments' – xyz