이 응용 프로그램은 로컬로, 배포 및 .mdf SQL Express 데이터베이스 파일 (일반적으로 테스트 목적으로 사용)을 사용하여 작동합니다. 그러나 SQL Server 2008에서 작동하도록 변경하면 응용 프로그램이 작동하지만 서비스는 그렇지 않습니다.WCF 서비스에서 400 개의 잘못된 요청을 반환합니다.
내가 테이블에 데이터를 추가하는 버튼이 페이지의 뒤에 내 코드의 경우 이와 같은 예를 들어 그것을 잘 작동합니다 :
public static string connString = @"Data Source=server1;Initial Catalog=Project;Integrated Security=True";
protected void btnAddProj_Click(object sender, EventArgs e)
{
using (var sqlc = new SqlConnection(connString))
{
sqlc.Open();
var cmd = sqlc.CreateCommand();
int intProjectID;
// Add the project info to the database
cmd.CommandText = "INSERT INTO tblProject VALUES(@ProjName,@ProjTeam,@ProjStart,@ProjEnd)";
cmd.Parameters.Add("ProjName", System.Data.SqlDbType.NVarChar).Value = txtProjName.Text;
cmd.Parameters.Add("ProjTeam", System.Data.SqlDbType.Int).Value = ddlTeamSupported.SelectedValue;
cmd.Parameters.Add("ProjStart", System.Data.SqlDbType.NVarChar).Value = txtStartDate.Text;
cmd.Parameters.Add("ProjEnd", System.Data.SqlDbType.NVarChar).Value = txtEndDate.Text;
cmd.ExecuteNonQuery();
}
}
내 Web.config의 해당 서버에 가장을 사용하도록 설정입니다 모든 것이 완벽하게 작동합니다. 그러나, 내 서비스에 대한 쿼리가 아무것도 반환하지 않는 것 및 400 잘못된 요청 오류가 발생합니다.
JQuery와의 코드는 다음과 같습니다
$.ajax({
type: "POST",
async: false,
url: "Services/ProjectService.svc/test",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
console.log(data);
}
});
그리고 서비스에 대한 :
[ServiceContract]
public interface IProjectService
{
[OperationContract]
[WebInvoke(ResponseFormat = WebMessageFormat.Json)]
ArrayList test();
}
public static string connString = @"Data Source=server1;Initial Catalog=Project;Integrated Security=True";
public ArrayList test()
{
var sqlc = new SqlConnection(connString);
sqlc.Open();
var cmd = sqlc.CreateCommand();
cmd.CommandText = "SELECT ProjectID FROM tblProject";
var reader = cmd.ExecuteReader();
ArrayList temparray = new ArrayList();
while (reader.Read())
{
temparray.Add(reader[0]);
}
sqlc.Close();
return temparray;
}
대신 데이터베이스를 쿼리하는 나는 서비스가 바로 다음 잘 작동 정적 데이터를 반환해야합니다. 앱의 나머지 코드가 작동 할 때 내 서비스가 데이터베이스에 연결되지 않게하려면 어떻게해야합니까?
서비스를 디버깅 할 때 오류가 발생합니까? – Marcus