Создал пустой aps.net проект. По туториалу добавил службу WCF и написал этот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;
using System.Web.Http;
namespace NaotvetWebService
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class TestService
{
private static List<string> lst = new List<string>
{
"Arrays",
"Queues",
"Stacks"
};
[WebGet(UriTemplate = "/Tutorial")]
public string GetAllTutorials() => String.Join(",", lst);
[WebGet(UriTemplate = "/Tutorial/{TutorialId}")]
public string GetTutorialByID(string TutorialId)
{
int pid;
if (!int.TryParse(TutorialId, out pid))
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
return lst[pid];
}
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
UriTemplate = "/Tutorial", ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped)]
public void AddTutorial(string str) => lst.Add(str);
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json,
UriTemplate = "/Tutorial/{TutorialId}", ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped)]
public void DeleteTutorial(string TutorialId)
{
int pid;
if (!int.TryParse(TutorialId, out pid))
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
lst.RemoveAt(pid);
}
}
}
И вот конфиг:
<?xml version="1.0" encoding="utf-8"?>
<!--
Дополнительные сведения о настройке приложения ASP.NET см. на странице
https://go.microsoft.com/fwlink/?LinkId=169433.
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.7.2" />
<httpRuntime targetFramework="4.7.2" />
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
</compilers>
</system.codedom>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="NaotvetWebService.TestServiceAspNetAjaxBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service name="NaotvetWebService.TestService">
<endpoint address="" behaviorConfiguration="NaotvetWebService.TestServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="NaotvetWebService.TestService" />
</service>
</services>
</system.serviceModel>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer></configuration>
Но при запуске меня встречает вот такая ошибка: "Не удалось добавить службу. Метаданные службы недоступны. Убедитесь, что служба работает и предоставляет метаданные". И при запуске это:
Что делать?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Необходимо просто поле count постоянно добавлять +1, как я понимаю если я сделаю так:
Мне нужно сравнить две даты(DateTime) и узнать является их разница больше X днейЯ понимаю что тут дело в логике, но я не могу сам написать эту функцию
Когда я присваивал строке(string) элемент из массива символов компилятор пишет ошибку CS0029: Cannot implicitly convert type 'int' to 'string'