我正在從7天wcf工作。我創建了一個Wcf服務。 但工作正常,並通過添加服務參考在Visual Studio中得到響應。但我的問題是,無論何時它被整合到android/windows中,這些人都沒有得到迴應。他們得到400(壞請求)。請任何人幫助我如何得到適當的迴應。 (我想作爲JSON響應)這是我的下面的代碼。 預先感謝您。WCF服務:400個錯誤的請求?
接口
public interface ISampleService1
{
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "getdata",BodyStyle = WebMessageBodyStyle.Bare)]
string getdata();
}
類
public string getdata()
{
try
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con2"].ConnectionString);
SqlCommand comm = new SqlCommand("select CircleID, CircleName from Circle", con);
con.Open();
comm.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(comm);
// DataSet ds = new DataSet();
DataTable dt = new DataTable();
da.Fill(dt);
JavaScriptSerializer JSSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> DtRows = new List<Dictionary<string, object>>();
Dictionary<string, object> newrow = null;
//Code to loop each row in the datatable and add it to the dictionary object
foreach (DataRow drow in dt.Rows)
{
newrow = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
newrow.Add(col.ColumnName.Trim(), drow[col]);
}
DtRows.Add(newrow);
}
con.Close();
return JSSerializer.Serialize(DtRows);
}
catch (Exception ex)
{
List<String> Parameters = new List<String>();
Parameters.Add("getRechargeCircleList");
// SendErrorMail(ex.ToString(), "getRechargeCircleList", Parameters);
// Context.Response.ContentType = "application/json; charset=utf-8";
// Context.Response.Write(@" {""Status"":""false"",""Message"" : ""Oops! Something went Wrong""}");
// return;
}
return "false";
}
web.config文件:
<?xml version="1.0"?>
<configuration>
<appSettings/>
</connectionStrings>
<system.web>
<httpRuntime maxRequestLength="32768"/>
<compilation debug="true" targetFramework="4.0"/>
<customErrors mode="Off"/>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows"/>
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID"/>
</system.web>
<!--
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
-->
<system.webServer>
<!--
To browse web app root directory during debugging, set the value below to true.
Set to false before deployment to avoid disclosing web app folder information.
-->
<directoryBrowse enabled="true"/>
</system.webServer>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicHttp" allowCookies="true"
maxReceivedMessageSize="4194304"
maxBufferSize="20000000"
maxBufferPoolSize="20000000">
<readerQuotas maxDepth="32"
maxArrayLength="200000000"
maxStringContentLength="200000000"/>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="SampleWcfproject.Service1Behavior" name="SampleWcfproject.Service1">
<endpoint address="" binding="basicHttpBinding" contract="SampleWcfproject.IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
<service behaviorConfiguration="SampleWcfproject.SampleService1Behavior" name="SampleWcfproject.SampleService1">
<endpoint address="" binding="basicHttpBinding" contract="SampleWcfproject.ISampleService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="web">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="SampleWcfproject.Service1Behavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
<behavior name="SampleWcfproject.SampleService1Behavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
我被消耗Web引用項目獲得Visual Studio中的以下respomse。但在android中出現400錯誤。
[{「」CircleID「」:1,「」CircleName「」:「」Andhra Pradesh「」},{「」CircleID「」:4,「」CircleName「」「」Assam「」}, { 「」 CircleID 「」:5 「」 CIRCLENAME 「」: 「」 比哈爾邦 「」},{ 「」 CircleID 「」:6 「」 CIRCLENAME 「」: 「」 奈 「」},{ 「」 CircleID 「」 :7 「」 CIRCLENAME 「」: 「」 德里 「」},{ 「」 CircleID 「」:8 「」 CIRCLENAME 「」: 「」 古吉拉特 「」},{ 「」 CircleID 「」:9 「」 CIRCLENAME 「」:「」Himachal Pradesh「」},{「」CircleID「」:10,「」CircleName「」:「」Haryana「」},{「」CircleID「」:11,「」CircleName「」:「」 Jammu \ Kashmir「」},{「」CircleID「」:12,「」CircleName「」:「」Kerala「」},{「」CircleID「」:13,「」CircleName「」:「」Karnataka「」 },{ 「」 CircleID 「」:14 「」 CIRCLENAME 「」: 「」 加爾各答 「」},{ 「」 CircleID 「」:15 「」 CIRCLENAME 「」: 「」 邦 「」},{ 「」 CircleID 「」:16,「」CircleName「」「」Madhya Pradesh「」},{「」CircleID「」:17,「」CircleName「」:「」Mumbai「」},{「」CircleID「」: 「」CircleName「」:「」North East「」},{「」CircleID「」:19,「」CircleName「」:「」Orissa「」},{「CircleID」「:20,」「CircleName」「 : 「」 旁遮普 「」},{ 「」 CircleID 「」:21 「」 CIRCLENAME 「」: 「」 Rajas比 「」},{ 「」 CircleID 「」:22 「」 CIRCLENAME 「}]」);
這是我的網址 http://xyzmnmkljj.in/SampleService1.svc/getdata
但它提供了400錯誤的請求。
在web.comfig文件的任何修改,請幫我
請antone幫我 –