Привет всем Я пытаюсь создать WCF-rest (Ajax enabled) Я смотрю несколько уроков на YouTube, а также прочитал некоторые вопросы по этой теме в Stackoverflow.WCF restful service не найден
Я нашел недостающий элемент в своем web.config Я думал, что проблема была полностью исправлена, но, к сожалению, я столкнулся с новой проблемой сейчас, когда служба не найдена.
это web.config
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="AjaxAndWCF.GetEmployeeAspNetAjaxBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<services>
<service name="AjaxAndWCF.GetEmployee" behaviorConfiguration="ServiceBehavior">
<endpoint address="../GetEmployee.svc" behaviorConfiguration="AjaxAndWCF.GetEmployeeAspNetAjaxBehavior"
binding="webHttpBinding" contract="AjaxAndWCF.IGetEmployee" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:51520/GetEmployee.svc/"/>
</baseAddresses>
</host>
</service>
</services>
это услуга
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class GetEmployee : IGetEmployee
{
public Employee byId(int id)
{
Employee emp = new Employee();
String strcon = ConfigurationManager.ConnectionStrings["WCFTOAJAXT1ConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(strcon))
{
SqlCommand cmd = new SqlCommand("ProGetEmployeeById", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@Id";
parameter.Value = id;
cmd.Parameters.Add(parameter);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
emp.Id = Convert.ToInt32(rdr["Id"]);
emp.Name = rdr["Name"].ToString();
emp.Nationality = rdr["Nationality"].ToString();
emp.Email = rdr["Email"].ToString();
}
}
return emp;/*
return new Employee()
{
Id = 1,
Name = "test",
Nationality = "test",
Email ="[email protected]"
};*/
}
}
это контракт на оказание услуг
[OperationContract]
[WebInvoke(UriTemplate = "/byId?id=id",
Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json)]
Employee byId(int id);
Нет, это не сработало – user3141505
Не удалось добавить услугу. Метаданные службы могут быть недоступны. Убедитесь, что ваша служба запущена и подвержена метаданным. – user3141505
Что такое? Проверить клиента? Добавить ссылку на службу? Можете ли вы ввести URL-адрес и добраться до него? – Bubba