ããã¯ãé¢é£ãããã¹ãŠã®åé¡ãçµã¿åãããããã®åäºè©©ã§ã
.NET Standard 2.0ããµããŒããããšããããšã¯ãããããã¹ãŠã®ãã©ãããã©ãŒã ããµããŒãããããšãæå³ã
äžäœäºææ§ã·ã ã䜿çšããŠRestSharpãå®è¡ãããšãã»ãšãã©ã®å Žåæ©èœããŸããHTTPåŒã³åºããåŒã³åºãããã«äœ¿çšãããåºã«ãªãã¯ã©ã¹ã«åé¡ãããã ãã§ããHTTPã¯ã©ã€ã¢ã³ããæ°ããHttpClientã«åãæ¿ããããå Žåã¯ãæ©èœããã¯ãã§ãã
å人çãªã¡ã¢ãšããŠãç§ãã¡ã¯ãããªãã£ã¹ã§RestSharpãããªã䜿çšããŠãããASP.NET Coreã䜿çšããŠå®è¡ãããæ°ããã¯ã©ãŠãããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ã«ãã§ã«åãçµãã§ãããããRestSharpãææ°ã®.NETã«çµã¿èŸŒãŸããããšãæ¬åœã«æãã§ããŸããæ°ããRESTã©ã€ãã©ãªã«åãæ¿ããå¿ èŠããªãããã«ããŒãžã§ã³ãèšå®ããŸãã
@qJake .NET Standard 2.0ã®APIãµãŒãã§ã¹ã¯å€§å¹ ã«æ¡åŒµãããŠãããããHttpClientã«åãæ¿ãã代ããã«ã確å®ã«HttpWebRequestãä¿æã§ããŸãã ã·ã ã§çµéšããåé¡ã¯ããååšããªãã®ã§ããããïŒ
ãªã.NETStandard 2.0ãªã®ã§ããïŒ å©çšå¯èœãªæäœããŒãžã§ã³ãã¿ãŒã²ããã«ããããšãæ€èšããŠãã ããã
@mguinness @ dotnet / corefxãããžã§ã¯ãã®ãã®ã³ã¡ã³ããåç §ããŠãã ãã-HttpWebRequestã¯System.Net.Http.HttpClientã¯å«ãŸããŠããŸãã
UWPã®çŸåšã®ããŒãžã§ã³ããµããŒãããããšãæ€èšããŠãã ããã ïŒFall Creators Updateã®åïŒ
UWPã®çŸåšã®ããŒãžã§ã³ã¯netstandard1.4ãæå³ããŸãã ãããã©ã®ãããªçµæããããããã¯ããããŸãããå®éšãéå§ããå¿ èŠããããŸãã
@qJakeãŸãHttpWebRequestã¯
@mguinnessãããHttpClient
åãæ¿ããã®ã§ãããã
UWPã®çŸåšã®ããŒãžã§ã³ã«åé¡ãããããã人ã ã¯1.4ãæãã§ããŸãã NETStandard 2.0ã¯ãUWPvNextã§ã®ã¿ãµããŒããããŸãã
@qJake FWIWã以åã®ããŒãžã§ã³ã®.NETStandardã§äœ¿çšã§ããSystem.Net.Requestsnugetããã±ãŒãžããããŸãã
ããã¿ããªãããã«é¢ããã¢ããããŒããETAã¯ãããŸããïŒ dotnet core 2ã¢ããªã§RestSharpã䜿çšããããšãèšç»ããŠããŠãããã±ãŒãžãåãæ¿ããããããŸããã
ä»æåã§ãã ã¬ã¬ã·ãŒãªãã®ã¯åé€ãããŸããããããããJSON.NETããªãªãŒã¹ã«æã¡èŸŒãäºå®ã§ãã ä¹ããæåŸ ã
WIPïŒ https ïŒ
AWS Lambdaã«äœ¿çšããå¿
èŠããããŸãããRestSharp.NetCore 105.2.3AWSã䜿çšãããšãšã©ãŒãè¿ãããŸã
-æ€åºãããããã±ãŒãžã®ããŠã³ã°ã¬ãŒãïŒ4.3.0ããã®System.Reflection-preview1-24530-04ãã4.1.0ã
RestSharpã¯4.1ã䜿çšããŠããŸãããAWSã¯.NetCoreApp1.0ã«å¯ŸããŠ4.3ããŒãžã§ã³ã»ããããµããŒãããŠããŸãã
System.Runtime.Serialization.Primitives.4.3.0-preview1-24530-04ã«äŸåããããŒãžã§ã³ã¯ãããŸããïŒ
.netã³ã¢ã«ç§»è¡ããŸãããã.netæšæº2.0ããRestSharpãåç §ã§ããªãããšãããããŸãããnugetããã±ãŒãžã®ã€ã³ã¹ããŒã«ã«å€±æããŸãã
ããã±ãŒãžãRestSharpSigned105.2.3ãã¯ããããžã§ã¯ãã¿ãŒã²ãããã¬ãŒã ã¯ãŒã¯ã.NETStandardãVersion = v2.0ãã®ä»£ããã«ã.NETFrameworkãVersion = v4.6.1ãã䜿çšããŠåŸ©å
ãããŸããã ãã®ããã±ãŒãžã¯ããããžã§ã¯ããšå®å
šã«äºææ§ããªãå¯èœæ§ããããŸãã
ããã±ãŒãžã®åŸ©å
ã«å€±æããŸããã ã®ããã±ãŒãžå€æŽã®ããŒã«ããã¯
@trampsterããªãã¯ã¹ããŒã¿ã¹ã誀解ããŠãããšæããŸãã å ¬åŒã®RestSharpããã±ãŒãžã¯.NETStandardããµããŒãããŠããããæçµæŽæ°æ¥ã¯2015幎ã§ããalexeyzimarevãåãçµãã§ããå€æã¯ãŸã å ¬éãããŠããŸããã
ç§ã¯ããã«å¯ŸããéèŠãããããšã瀺ãã®ãå©ããããã«æçš¿ããŠããããšãç解ããŠããŸãã ãŸãã.net Standard2.0ã®ãªãªãŒã¹æã«Microsoftãçºè¡šãã.netStandard2.0ãã.netãã«dllãåç §ããããã®.NETFrameworkäºæã¢ãŒããããã§ã¯æ©èœããªãããšã瀺ããŸãã ãããã£ãŠãåé¿çã¯ãªãããããã¯ãããŸãã
å¥ã®Restã©ã€ãã©ãªã«ç§»è¡ããå¿ èŠã¯ãããŸããããå¿ èŠã«å¿ããŠç§»è¡ããŸãã ããã¯ããã®å€æã«ãããæéã«ãã£ãŠç°ãªããŸãã
èå³æ·±ãããšã«ãnuget https://www.nuget.org/packages/RestSharp.NetCoreã«98,895ããŠã³ããŒãã®RestSharp.NetCoreããã±ãŒãžããããŸãããã¢ããããŒããŒããããžã§ã¯ãã«é¢é£ä»ããããŠããªãããšããããéããããããŸãããç§ããããä¿¡é Œã§ããã°ã
@trampsterããã¯ïŒæå¶ãããå¯èœæ§ã®ããïŒNugetèŠåã§ããæ¢åã®.NETFramework
æåŸã®è¡ãããäžåºŠèŠãŠãã ããã ãããããŒã«ããã¯ããŸããã ãã®åŸãRestSharpãžã®åç §ã¯ãããŸããã
ãŸããç§ã®æçš¿ãèªããšãnetcore2.0ãv4.6.1ã§ã¯ãªã.netæšæº2.0ãã䜿çšããããšããŠããããšãããããŸãã
èŠåã«ã¯v4.6.1ã䜿çšããããšèšèŒãããŠããŸãããRestSharpnugetããã±ãŒãžã«ã¯v4.6.1ãå«ãŸããŠããªãããšã«ã泚æããŠãã ããã
@trampsteräºææ§ããªããžã䜿çšããŠHttpWebRequest
䜿çšéã«èŠçŽãããã©ã³ã¿ã€ã äŸå€ãçºçããŸãã NuGetããã±ãŒãžã®ã€ã³ã¹ããŒã«ã«å€±æããªãã£ãã®ã§ãããã¯å¥åŠã§ãã ð
ç§ãããã«ééããŠããŸãïŒ\
.NET Coreã¢ããªã§çŸåšã®nugetããã±ãŒãžã䜿çšã§ããã®ã¯ãå®å šãªãã¬ãŒã ã¯ãŒã¯ãã¿ãŒã²ããã«ããŠããå Žåã®ã¿ã§ãã
æ°ãã.NETCoreã³ã³ãœãŒã«ã¢ããªãäœæããããã±ãŒãžãããŒãžã£ãŒããInstall-Package RestSharp -Version 105.2.3
ãå®è¡ããŠã次ã®ã³ãŒããMainã«è¿œå ããŸããã
`` `CïŒ
var client = new RestClientïŒïŒ;
client.BaseUrl = new UriïŒ "https://api.github.com/"ïŒ;
var request = new RestRequestïŒïŒ;
request.Resource = "users / restsharp / repos";
var response = client.ExecuteïŒrequestïŒ;
`` `
netcoreapp2.0ãã¿ãŒã²ããã«ãããšSystem.PlatformNotSupportedException: Operation is not supported on this platform.
ãåŸãããŸãããcsprojã§<TargetFramework>net46</TargetFramework>
ã«å€æŽãããšæ©èœããŸãã
å®å šãªãã¬ãŒã ã¯ãŒã¯ã察象ãšããŠããŸãã
@niemyjskiãã®ã©ã€ãã©ãªãæŽæ°ãããã®ãåŸ ã€éã RestSharp.NetCoreãè©ŠããŠã¿ãŠãã ããã 以äžã®ã©ã€ãã©ãªã§äœ¿çšãããŠãããããååã«å®å®ããŠäœ¿çšã§ããã¯ãã§ãã
ADH.PushCore
AppVeyorSharp
CoreLib.Web
CouchDB.Client
DocuSign.NetCore
Flip.PomboCorreio.Connector
FluentEmail.Mailgun
GiphyApiClient.NetCore
Intercom.Core
IronSphere.Henchmen
MasterCard-ã³ã¢-éå
¬åŒ
mbank-dotnet
MessageMedia.REST.API.NetCore
Minio.NetCore
MiX.Integrate.Api.Client
OdinSdk.BaseLib.Core
OneSignal.AspNet.Core.SDK
OneSignal.CSharp.SDK.Core
Onlinesites.ShopFacilBradesco
ããã·ã£ãŒ-http-dotnet-core
RepositoryFramework.Api
RepositoryFramework.EntityFramework
RestSharp.Newtonsoft.Json
RestSharp.Newtonsoft.Json.NetCore
Slack.Webhooks.Core
StoneCo.PomboCorreio.Connector
SwitchAPI.Connector
Syncromatics.Clients.Metro.Api
TransportApi.Sdk.NetCore
Twilio.NetCore
UtilityFramework.Application.Core
UtilityFramework.Services.Iugu.Core
RestSharp.NetCoreã®ã¢ããããŒããŒã誰ã§ãããç¥ã£ãŠãã人ã¯ããŸããïŒ ç§ã¯ããã§githubãèŠãŸããããRestSharpã®ãã©ãŒã¯ããããŸããã ããã±ãŒãžã«ã¯ã©ã€ã»ã³ã¹ãèšèŒãããŠããŸãããæªæãããããšã¯ããã£ãŠããŸãã
ãã®ãããžã§ã¯ããææããŠãã人ã¯ãrestsharpããã±ãŒãžã®åå空éã®æææš©ãæ¢ãå¿ èŠããããŸã...ãããŠãããããã®ããã±ãŒãžãäžå Žå»æ¢ã«ããå¿ èŠããããŸãã éã³ã³ãã€ã«ããããšã§ããã®ããã±ãŒãžã«æªæã®ããã³ã³ãã³ããå«ãŸããŠãããã©ããã確èªã§ããŸãã
2017幎10æ5æ¥ååŸ10æ57åã
@niemyjski ïŒhttps://github.com/niemyjskiïŒãã®ã©ã€ãã©ãªãæŽæ°ãããã®ãåŸ ã€éãRestSharp.NetCoreïŒhttps://www.nuget.org/packages/RestSharp.NetCore/ïŒãè©ŠããŠã¿ãŠãã ããã 以äžã®ã©ã€ãã©ãªã§äœ¿çšãããŠãããããååã«å®å®ããŠäœ¿çšã§ããã¯ãã§ãã
ADH.PushCore
AppVeyorSharp
CoreLib.Web
CouchDB.Client
DocuSign.NetCore
Flip.PomboCorreio.Connector
FluentEmail.Mailgun
GiphyApiClient.NetCore
Intercom.Core
IronSphere.Henchmen
MasterCard-ã³ã¢-éå ¬åŒ
mbank-dotnet
MessageMedia.REST.API.NetCore
Minio.NetCore
MiX.Integrate.Api.Client
OdinSdk.BaseLib.Core
OneSignal.AspNet.Core.SDK
OneSignal.CSharp.SDK.Core
Onlinesites.ShopFacilBradesco
ããã·ã£ãŒ-http-dotnet-core
RepositoryFramework.Api
RepositoryFramework.EntityFramework
RestSharp.Newtonsoft.Json
RestSharp.Newtonsoft.Json.NetCore
Slack.Webhooks.Core
StoneCo.PomboCorreio.Connector
SwitchAPI.Connector
Syncromatics.Clients.Metro.Api
TransportApi.Sdk.NetCore
Twilio.NetCore
UtilityFramework.Application.Core
UtilityFramework.Services.Iugu.Coreâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubïŒhttps://github.com/restsharp/RestSharp/issues/992#issuecomment-334651808ïŒã§è¡šç€ºããããã¹ã¬ããããã¥ãŒãããŸãïŒhttps://github.com/notifications/unsubscribe-auth / AA-So9HrYQHV5nlV1m7W7eY-y_F5cBqqks5spaUXgaJpZM4PLH2mïŒã
@alexeyzimarevã¯ããã¬ãªãªãŒã¹ã®nugetããã±ãŒãžãä»æ¥å ¥æããå¯èœæ§ã¯ãããŸããïŒ ããŒã¿çã§ããããã¹ãŠã®ãã¹ããæ©èœããŠããå Žåã§ããä»ã®ããã€ãã®ç¹ãå€æŽãããå¯èœæ§ããããŸãã
æ²ããRESTsharpã¯Core2.0ã§ã¯åäœããŸããã HttpClientã«æ»ã£ããšæããŸã
@niemyjskiããããããããªããã WebRequestãHttpClientã«å€æŽããŠããŸãããããã¯å€§ããªå€æŽã§ãã ããã¯ãWebRequestãnetstandard 2.0ã§ã®ã¿äœ¿çšå¯èœã§ããã1.6ããµããŒããããããã§ãã
@niemyjskiæ¯æŽãå¿ èŠãªå Žåã¯ãå€æŽãå¥ã®ãã©ã³ãã«å ¬éã§ããŸã-
ç§ã¯å®éã«netstandard2.0ã«åãæ¿ããŸããã netstandard1.6ã¯æéãããããããããã§ãã ããããç§ã¯ãŸã HttpClientã䜿çšããããšæããŸãã
ããããã§ãã¯ããŠãã ããïŒ //github.com/restsharp/RestSharp/tree/netstandard
PRã¯å€§æè¿ã§ãã
@amivitããªãã¯ãããå®çŸããããã«ããªãã®æéã®ãããããè²¢ç®ããããšãã§ããŸãããïŒ
WebRequestãHttpClientã«å€æŽããŠããŸãããããã¯å€§ããªå€æŽã§ãã ããã¯ãWebRequestãnetstandard 2.0ã§ã®ã¿äœ¿çšå¯èœã§ããã1.6ããµããŒããããããã§ãã
System.Net.Requests nugetããã±ãŒãžããããããããã¯èª€ã£ãã¹ããŒãã¡ã³ãã§ãã
æåã¯WebRequestã䜿ãç¶ããŠãããæéã®çµéãšãšãã«HttpClientã«ç§»è¡ããã®ã¯é£ããã§ããããã
@mguinnessãã®ããã±ãŒãžã䜿ã£ãŠã¿ãŸãããïŒ ãã£ãã
@mguinnessèšãããšãã§ããŸã
ç³ãèš³ãããŸããã@alexeyzimarevè²¢ç®ããæéããããŸããã ç§ã¯æãã RESTsharpãããããHttpClientã«äŸåããŠããªãããšã«é©ããŠããŸãã 2012幎ãŸãã¯.NET4.5以éãWebClientãããæ¹åãããŠããŸãããïŒ
@amivitãããããå£ããŠããªãå Žåã¯ãä¿®æ£ããªãã§ãã ããã
ããã§ãããã ãã§ããããªããïŒroflïŒ
ããããã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã.net core 2.0ã«ã¢ããã°ã¬ãŒãããåŸãRestSharpã«é¢ããããã€ãã®èŠåã衚瀺ãããŸãã
èŠåNU1603ïŒRestSharp.NetCore 105.2.3ã¯System.Runtime.Serialization.FormattersïŒ> = 4.0.0-rc4-24217-03ïŒã«äŸåããŠããŸãããSystem.Runtime.Serialization.Formatters4.0.0-rc4-24217-03ã¯äŸåããŠããŸããã§ããèŠã€ãã£ãã System.Runtime.Serialization.Formatters4.3.0-preview1-24530-04ã®ããããã®ãã¹ããããã解決ãããŸããã
ç§ã¯ä»ã®ãšããã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããšããŸããã§ãã-ç§ã¯ãããæ©èœããªããšæããŸãã
ãã®ãããRestSharpã¯ãŸã .net Core2.0ããµããŒãããŠããŸããã ãããããã€ãã¯ãããªãã®ã§ããããã ãã§ã«æ¥ä»ã¯ãããŸããïŒ ãããå®çŸããããã«ïŒå¯çš¿è
ãšããŠïŒããã§æ¯æŽã§ããŸããïŒ
@matthiasburgerã¯netstandardãã©ã³ãããã§ãã¯ããŸãã ç§ã¯ããªãã®ã³ã¡ã³ãã®äžã«ãããã»ãã®æ°ä»¶ã®æçš¿ã§è¿°ã¹ãŸããã
ä»ã®ãšãã2.0ã§è¡ã£ãŠãã ããã åŸã§ãã€ã§ãhttpã¯ã©ã€ã¢ã³ãã«å€æŽã§ããŸã...ãŸã
syncã¡ãœãããæãããããã®ã³ã³ãã€ã©æ什ãããããšã確èªããŠãã ãã
ïŒãã¬ãŒã ã¯ãŒã¯ïŒ
ããããšã
-Blake Niemyjski
6æ43åAMã§æ°Žææ¥ã2017幎10æ11æ¥ã«ã¯ãã¢ã¬ã¯ã»ã€Zimarev [email protected]
æžããŸããïŒ
@matthiasburgerhttps ïŒ //github.com/matthiasburgerãããã¹ã¿ã³ããŒãã確èªããŠãã ãã
ãã©ã³ããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/restsharp/RestSharp/issues/992#issuecomment-335782906 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AA-So8akA6MlKfoypWDSAqaElcYBPFoAks5srKnUgaJpZM4PLH2m
ã
sry @ alexeyzimarevæã ç§ã¯ãã¹ãŠãèªãå¿ èŠããããŸã-çŽ æŽãããã ç§ã¯ãããèŠãŠã¿ãŸã:)
@niemyjskiãã¹ãŠã®ãã©ã°ããã£ã¬ã¯ãã£ããåé€ãããŸãã ãã©ãããã©ãŒã ããã¬ãŒã ã¯ãŒã¯ãªã©ããšã«åå·®ãçããããªãã®ã§ããããã¯netstandardã解決ããããšã宣èšããŠãããã®ã§ãããããã䜿çšããŸãã
ããŠã netstandard
ãã©ã³ãã¯ã眲åä»ããšçœ²åãªãã®äž¡æ¹ã§ãã«ããããããã«ãªããŸããã ããã§ã倱æãã4ã€ã®ãã¹ãããããŸãïŒãšã³ã³ãŒãããã³ãŒãïŒã çµ±åãã¹ãã¯ãŸã å«ãŸããŠããŸããã ä»é±ã³ãŒããå®æãããããšãã§ããã°å¹žãã§ããããã«ããšããã¯ãè¡ãã«ã¯ãDotNetCliã«åãæ¿ããããã«ããã«äœæ¥ãå¿
èŠã«ãªããŸãã
ããããŸããããã¹ãŠããŸãããããã§ãã HttpListenerïŒçµ±åïŒããã®ãµããŒããããŠããªãäŸå€ã®ãããæ¡ä»¶ä»ãã§2ã€ã®ãã¹ããç¡èŠããå¿ èŠããããŸããã é©åãªãµãŒããŒã§äœ¿çšãããšãåäœããããšãæåŸ ããŠãã ããã
ããã§ããã«ãã¹ã¯ãªãããå€æŽããŠãDotNetCliã䜿çšããnuget.exeã®äœ¿çšãåæ¢ããå¿ èŠããããŸãã
çŽ æŽãããä»äºãç¶ããŠãã ãã@alexeyzimarevïŒ æåã®ãªãªãŒã¹ãåŸ ã¡ãããŸããð
VS2017ããã³.NETCore2.0ã察象ãšããå®éã®IISã§106.0.0-alpha0277ããã¹ãããŸãã
ErrorExceptionïŒSystem.PlatformNotSupportedExceptionïŒãã®ãã©ãããã©ãŒã ã§ã¯æäœã¯ãµããŒããããŠããŸããã
System.Net.SystemWebProxy.GetProxyïŒUriå®å ïŒã§
System.Net.ServicePointManager.ProxyAddressIfNecessaryïŒUriïŒã¢ãã¬ã¹ãIWebProxyãããã·ïŒã§
System.Net.ServicePointManager.FindServicePointïŒUriã¢ãã¬ã¹ãIWebProxyãããã·ïŒã§
System.Net.HttpWebRequest.get_ServicePointïŒïŒã§
RestSharp.Http.ConfigureWebRequestïŒStringã¡ãœãããUri urlïŒã§
RestSharp.Http.PostPutInternalïŒStringã¡ãœããïŒã§
RestSharp.Http.AsPostïŒString httpMethodïŒã§
RestSharp.RestClient.DoExecuteAsPostïŒIHttp httpãStringã¡ãœããïŒã§
RestSharp.RestClient.ExecuteïŒIRestRequest requestãString httpMethodãFunc`3 getResponseïŒã§
圌ããæéã®çµéãšãšãã«å€ãã®IsXYZã¡ãœãããè¿œå ããããšãç§ã¯ç¥ã£ãŠããŸãããããããããã®ã¡ãœãããåŒã³åºãããããããã©ããããåã«ãããããã§ãã¯ããå¿ èŠããããŸããïŒ
Linuxã§ãããã®ãã¹ããå®è¡ãå§ãããšãWindowsãããå€ãã®åé¡ãèŠã€ãããšæããŸãã
@ maciek12305ã©ããã£ãŠããã«
@niemyjski Linuxã§ãã¹ããå®è¡ããããšã«åæããŸãããããã«ã¯æ°ããCIãã«ããã»ããã¢ããããå¿ èŠããããŸãã åŸã§ãã§ããã°æ¥é±ãTravisãèŠãŠãããŸãã
ãããã·ã®åé¡ã®ããã§ãhttps://github.com/Azure/azure-iot-sdk-csharp/issues/140
åé¡ã¯ãããã©ã«ããããã·ã®èšå®ãã¬ãžã¹ããªããèªã¿èŸŒãŸããããã.NETCoreãããã©ã«ããããã·ããµããŒãããŠããªãããšã§ãã
ãããã£ãŠããããã·ã䜿çšããªãå Žåã¯æ©èœããã¯ãã§ããããããã·ã䜿çšãããš.NETCoreã§ã¯ã©ãã·ã¥ããŸãã ä»ã®ãšããããã¹ãŠããã€ãã¹ããŠçŽæ¥ç§»åãããšãããããã©ã«ããããã·ãã¯ã©ã¹ãè¿œå ããŸããã ãããã·ã䜿çšããå¿
èŠãããå Žåã¯ã ConfigureProxy
ã¡ãœããã䜿çšããŠãããã·ãæäŸããå¿
èŠããããŸãã
ææ°ã®ããã±ãŒãžããè©Šããã ããïŒ https ïŒ
@niemyjskiå®éãçµ±åãã¹ãã¯Macã§åé¡ãªãåæ ŒããŸãã ãããã£ãŠãLinuxã§ãæ©èœããã¯ãã§ãã
@alexeyzimarevææ°ã®ããã±ãŒãžã¯
C#
//https://github.com/dotnet/corefx/commit/6acd74dda7bc4f585d2c4006da4a8b2deb0261ad
var proxy = WebRequest.DefaultWebProxy;
WebRequest.DefaultWebProxy = null;
@mguinnessã§ã¯ããªãå€ãå€ïŒãããäœã§ãããããããªãïŒãproxy
å€æ°ã«ä¿æããã®ã§ããïŒ éããçãããšãã§ããå¯äžã®è¡ã¯
WebRequest.DefaultWebProxy = null;
ãããå©ãã«ãªããªããç§ã¯ãããç°¡åã«è¿œå ããããšãã§ããŸãã
@alexeyzimarevãã¬ãŒã ã¯ãŒã¯ã«ãWebRequest.DefaultWebProxyïŒä»¥åã®Getããªããšã»ãããæ©èœããªãããšããä¿®æ£ãã³ããããããã°ããããŸããã
ä»ãç§ã¯åããã ããã©ã«ãã®ãããã·ããããã£ãæäœãã代ããã«ããªã¯ãšã¹ãã®ãããã·ããããã£ãnullã«èšå®ããŠããã±ãŒãžãäœæããŠã¿ãããšãã§ããŸãã
@mguinnessæ°ããããã±ãŒãžãåºãŸãããå©ããŠãããŠããããšãïŒ
@mavanmanen UWPã§ãããè©ŠããŠã¿ãŸãããïŒ https://www.nuget.org/packages/RestSharp/106.0.0-alpha0282
ããŒãžã§ã³106.0.0-alpha0282ã§ã¯ãåããšã©ãŒããã®ãã©ãããã©ãŒã ã§ã¯æäœã¯ãµããŒããããŠããŸãããã
@remiskauneãããã®è¡ãã³ãŒãã«
var proxy = WebRequest.DefaultWebProxy;
WebRequest.DefaultWebProxy = null;
ããããšãã ããŒãžã§ã³106.0.0-alpha0282ã§ãã®è¡ã§åäœããããã«ãªããŸããã
ã ããåé¡ã¯ãRestSharpã³ãŒãã«ãããã®è¡ãå«ããã®ã§ããªããããªãã§ã¯æ©èœããªãã®ããšããããšã§ã...
ããããWebRequestã®ã¹ã³ãŒãã¯ç°ãªããŸããïŒ ããã¯éçã¯ã©ã¹ã§ããããããšãã€ã³ã¹ã¿ã³ã¹åãããŠããŸããïŒ
ãµã³ãã«ã¢ããªãäœæããããšã§ç¢ºèªã§ããŸãããµã³ãã«ã¢ããªã§ã次ã®ããšã確èªããŠãã ããã
WebRequest.DefaultWebProxy
ãŸããRestSharpã衚瀺ããŠããå€ãéä¿¡ããããã®ã¡ãœãããå ¬éããŸãïŒãããã°ç®çã§ïŒ-äŸïŒ
public IWebProxy GetCurrentProxy() => WebRequest.DefaultWebProxy;
2ã€ãç°ãªããã©ããã確èªããŸããïŒ
@qJake誰ããç§ã®ããã«ãããã°ããŠãããã°
WebRequest.DefaultProxy
ãnullã«å²ãåœãŠãããšã«ããããããã·ã®åé¡ããä¿®æ£ããããæ°ããããã±ãŒãžãå©çšå¯èœã§ãã ããã¯çµæãããããããããããŸããããç§ã¯å®éã®åé¡ãæåŸ
ããŠããŸããã åé¿çã¯ã.NETæšæºã¢ã»ã³ããªã«ã®ã¿è¿œå ãããŸãã .NETFrameworkã¢ã»ã³ããªã¯ä»¥åãšåãããã«æ©èœããã¯ãã§ãã
https://www.nuget.org/packages/RestSharp/106.0.0-alpha0284
åé¡ãå ±åãããªãå Žåã¯ããªãªãŒã¹ã®æºåãéå§ããŸãã
ããã§ããªãè¯å®çãªåå¿ã ç§ã¯äŸåããã±ãŒãžïŒAtlassian.JIRAïŒãæ©èœãããããšããŠéãã§ããŸãããã.NETæšæº2.0ãã¿ãŒã²ããã«ããå Žåããã¹ãŠã®çµ±å/åäœãã¹ãã¯ãæ©èœãããã®ã§LGTMã§ããã
ãã®æåŸã®ã¹ã¬ããã«ã€ããŠã¯ã httpsïŒ//bitbucket.org/farmas/atlassian.net-sdk/issues/306/support-for-dotnet-core ã
ç§ã¯ãããç§ãã¡ã®ãœãªã¥ãŒã·ã§ã³ã«å¯ŸããŠãã¹ãããŸããããããŠããã¯ããŸããããŸãã
.netæšæº2.0ãããžã§ã¯ããš.net4.6.1ãããžã§ã¯ããã䜿çšããŠããŸã
.net4.6.1ãã䜿çšããå Žåã ããžã¥ã¢ã«ã¹ã¿ãžãªãé»è²ã®æå笊ã§ããŒã¯ãã次ã®åç
§ããã«ãããããžã§ã¯ãã
System.Net.Http
System.Runtime.Serialization.Primitives
System.Security.Cryptography.Algorithms
System.Security.Cryptography.Encoding
System.Security.Cryptography.Primitives
System.Security.Cryptography.X509Certificates
çç±ã¯ããããŸããããåé¡ã¯ãªãããã§ãã
ç§ãã¡ãæ±ããŠããå°ããªåé¡ã®1ã€ã¯ãclickonceã䜿çšããŠããŒã«ã®1ã€ãé åžããŠããããããã¹ãŠã«åŒ·ãååãä»ããå¿ èŠãããããšã§ãã ãã ãããã¬ãªãªãŒã¹ããŒãžã§ã³ã¯å³å¯ãªååã§ã¯ãããŸããã ããã±ãŒãžã®RestSharpSignedããŒãžã§ã³ã䜿çšããŠããŸããã.netæšæºããµããŒããããã¬ãªãªãŒã¹ããŒãžã§ã³ã¯ãããŸããã
匷ãååä»ãããŒãžã§ã³ãšåŒ·ãååãªãããŒãžã§ã³ããããšã匷ãååä»ãããŒãžã§ã³ã«äŸåããäŸåé¢ä¿ãšã匷ãååãªãããŒãžã§ã³ã«äŸåããäŸåé¢ä¿ã2ã€ããç¶æ³ã§åé¡ãçºçããå¯èœæ§ããããŸãã
ããã®ä»£ããã«ã眲åãããŠã¢ã»ã³ããªããŒãžã§ã³ã®ã¡ãžã£ãŒããŒãžã§ã³ã«ããªãŒãºãã1ã€ã®ããã±ãŒãžãçšæãïŒSemVerã§ã¯ãäºææ§ã倱ãããå Žåã«ã®ã¿ã¡ãžã£ãŒããŒãžã§ã³ãå€æŽãããŸãïŒãFileVersionã§å®å šãªSemVerã䜿çšããããšããå§ãããŸãã ãã®ããã«ããŠã誰ãã䜿çšã§ãã1ã€ã®nugetããã±ãŒãžïŒåŒ·ãååãä»ããããŠãããã©ããã«é¢ä¿ãªãïŒããããã¡ãžã£ãŒããŒãžã§ã³ã®ããªãŒãºã¯ããã€ã³ãã£ã³ã°ãªãã€ã¬ã¯ããäžèŠã§ããããšãæå³ããŸãã ãŸããSemVerã䜿çšãããšããããšã¯ãäºææ§ã®èŠ³ç¹ããã誰ããèªåã®ç«å Žãæ£ç¢ºã«ææ¡ããŠããããšãæå³ããŸãã
.netæšæºãžã®åãæ¿ãã¯ããã®å€æŽãè¡ãã®ã«é©ããææã§ããå¯èœæ§ããããããããã§ããããå§ãããŸãã
ããã©ã«ãã§ããã±ãŒãžã«çœ²åããããŒãGitHubã«é 眮ããå¿ èŠããããŸãã.netããŒã ã¯ãäœã害ãåãŒããªããããããããå§ãããŸãã
å€æŽã確èªã§ããPRã¯ãããŸããïŒ
@niemyjski develop
ãã©ã³ãããã¹ãŠã®äººã«è¡šç€ºããããšæããŸãã ç§ããããããã©ã«ãã®ãã©ã³ãã«ããŸããã
ãã®å Žåã @ niemyjski ãJustãã¯æ©èœããŸããã ããªããå©ããããªã-ããŠãã ããã nugetã®ãã°ãåå ã§ãœãªã¥ãŒã·ã§ã³ã®ãã«ãå
šäœã倱æããããã Signed
ãããžã§ã¯ããåé€ããå¿
èŠããããŸããã
https://github.com/dotnet/standard/issues/538
https://github.com/NuGet/Home/issues/6038
ãããã£ãŠãä¿®æ£ããããŸã§åŸ ã€ããå¥ã®ãœãªã¥ãŒã·ã§ã³ãšãããžã§ã¯ããè¿œå ããŠããããã¹ãŠã®ãã¡ã€ã«ãæåã§å«ããå¿ èŠããããŸããããã¯åä»ã§ãã
@alexeyzimarevã«ã¯
2ã€ã®ããŒãžã§ã³ãç¶æããããšã䞻匵ããå ŽåïŒãŠãŒã¶ãŒã«åé¡ãçºçããŸãïŒãæ§æãä»ããŠ1ã€ã®csprojã§ãããè¡ãããšãã§ããŸãã
2ã€ã®ããŒãžã§ã³ãããããšãã©ãã»ã©å£ããŠãããã«æ°ä»ãåã«ãç§ã¯ããšããšèªåã®ãããžã§ã¯ãã§ãããè¡ããŸããïŒãããŠããã¯æ©èœããŸããïŒã åºæ¬çã«ãStrongNameããããã£ã°ã«ãŒããè¿œå ããŸããã 次ã«ãdotnet build -cStrongNameã䜿çšããŠãã«ãããŸã
<PropertyGroup Condition="'$(Configuration)'=='StrongName'">
<PackageId>Jsonics.StrongName</PackageId>
<NetStandardImplicitPackageVersion>1.6.1</NetStandardImplicitPackageVersion>
<PackageVersion>0.1.0-alpha</PackageVersion>
<Optimize>true</Optimize>
<AssemblyOriginatorKeyFile>Jsonics.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
</PropertyGroup>
æèµ·ããåé¡ã®ä¿®æ£ãåŸ ã€å Žåã¯ãé·ãéåŸ ã€å¯èœæ§ããããŸãã
ããã¯ããªãã®ãã¹ãŠã®åé¡ã解決ããŸãã
ç§ã¯ããã倧奜ãã§ãã
ããããã£ã°ã«ãŒãã®ææ¡ã¯è²Žéã§ãã ç§ã¯2ã€ã®ããã±ãŒãžãä¿æããããšããŸããããããªããšãæ··ä¹±ãçããŸãã ç§ã¯ééã£ãŠãããããããŸããããå人çã«ã¯çœ²åãé¿ããŸãã ããããããªãã¯ãããå¿ èŠãšããŠããã®ã§ãç§ã¯çœ²åãããã¢ã»ã³ããªã§ããã±ãŒãžãäœãããšããŸãã
@niemyjski ã.netããŒã ãããããå§ãããŸãããžã®ãªã³ã¯ã¯ãããŸããïŒ ç§ã¯çµæã«ã€ããŠããããŠåœŒãããããè¡ãããšãã©ã®ããã«æ£ç¢ºã«ç€ºåããŠãããã«ã€ããŠãã£ãšç¥ãå¿ èŠããããŸãã
ç§ã¯åœŒããšè©±ãããŸããããããŠç§ã¯åœŒãããããå
¬ã«èšã£ãããšãç¥ã£ãŠããŸã
ãã©ãŒã©ã ãšããã¿ã ããã¯äžçš®ã®åè«ã§ãããåé€ããå¿
èŠããããŸãïŒ
https://twitter.com/terrajobst/status/774752534682402817ïŒ..
ã¢ã»ã³ããªã«åŒ·ãååãä»ããŸã...ãã¹ãŠã®ã¢ã»ã³ããªã«åŒ·ãååãä»ããŸã
åè«ãªã®ã§ã眲åsnkããªããžããªã«æ®ããŸãã 16é²ãšãã£ã¿ãæã£ãŠãã人
匷ãååã®çœ²åããã€ãã¹ããããšãã§ããããã¯å¿
èŠãªäººã ããå·ã€ããŸã
ããã±ãŒãžã«äŸåé¢ä¿ãæããªãããã«çœ²åããŸãã ããªãã¯åŒ·ããåç
§ããããšãã§ããŸã
眲åãããŠããªãããã±ãŒãžãã眲åãããããã±ãŒãžãªã®ã§ããã¹ãŠã«çœ²åããŠã¿ãŸããã
æéã
https://github.com/FoundatioFx/Foundatio/blob/master/src/Foundatio/Foundatio.csproj
ããããšã
-Blake Niemyjski
ååŸ1æ30åæ°Žææ¥ã2017幎11æ1æ¥ã«ã¯ãã¢ã¬ã¯ã»ã€Zimarev [email protected]
æžããŸããïŒ
@niemyjski https://github.com/niemyjski "The.netãžã®ãªã³ã¯ã¯ãããŸãã
ããŒã ã¯ããããå§ãããŸããïŒç§ã¯çµæãšãã®æ¹æ³ã«ã€ããŠãã£ãšç¥ãå¿ èŠããããŸã
ãŸãã«åœŒãã¯ãããè¡ãããšãææ¡ããŠããŸããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/restsharp/RestSharp/issues/992#issuecomment-341197289 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AA-So94xh-jiEMniw0D2QaGQPgT9zfBfks5syLjDgaJpZM4PLH2m
ã
ã¯ãã眲åããŸãã
ãªãªãŒã¹ãããŸããã https://www.nuget.org/packages/RestSharp/106.0.0
ããgithubã§ãªãªãŒã¹ã¿ã°ãäœæããå¿ èŠããããŸãã :)
ã¿ã°ä»ã
106.1.0ã®ãªãªãŒã¹ããŒãã«ã¯æ¬¡ã®ããã«èšèŒãããŠããŸãã
ã.NETCoreã®ãããã·ã®åé¡ãä¿®æ£ããŸããã
ãã®ä¿®æ£ãäœãã«ããŒãããã¯ããããŸãããããããã·ã®äœ¿çšã«ã¯ãŸã åé¡ããããŸãã
.NET Core 2.0ããŒãïŒ.NET Framework 4.6.1ããæäŸïŒã®åã¯ããã®ããã«ã¯ã©ã€ã¢ã³ããã€ã³ã¹ã¿ã³ã¹åããããã¯é
åã®ããã«æ©èœããŸããã
_restClient = new RestClient(DanskStatistikApi)
{
Proxy = WebRequest.GetSystemWebProxy()
};
_restClient.Proxy.Credentials = CredentialCache.DefaultCredentials;
.NET Core 2.0ãããžã§ã¯ãã§åãã³ãŒãã䜿çšãããšã次ã®å¿çãšã©ãŒãçºçããŸãã
System.PlatformNotSupportedException: Operation is not supported on this platform.
ãªã¯ãšã¹ããçºè¡ããã³ãŒãã¯æ¬¡ã®ããã«ãªããŸãã
var taskCompletion = new TaskCompletionSource<IRestResponse>();
var asyncHandle = _restClient.ExecuteAsync(request, r => taskCompletion.SetResult(r));
var response = (RestResponse)(await taskCompletion.Task);
äœããæèŠã¯ïŒ
THXã
ãã¬ãã
.NET Core 2.0ã®åäœããã³ãŒãã¯ãããŸããïŒ
ã¹ã¿ãã¯ãã¬ãŒã¹ããã§ãã¯ãããšãããã¯äŸå€ã§ã¯ãªããããã©ã«ãã®ãããã·ãååŸããããšãããšãã®.NETäŸå€ã§ããããšãããããŸãã
ã¯ãããã®éãã§ã@alexeyzimarev ãäŸå€ã¯éåžžSystem.Net.SystemWebProxy.GetProxyã§ã¹ããŒãããŸããç§ã¯ããªã¬ãŒããã°ããå®è¡ããŸããã :)
åãåé¡ãçºçããŠããä»ã®ãŠãŒã¶ãŒã®å Žåã次ã®ããã«äœ¿çšãããããã·ãæ瀺çã«æå®ã§ããŸãã
var restClient = new RestClient(DanskStatistikApi)
{
Proxy = new System.Net.WebProxy("your-proxy-url-goes-here", 8080)
};
restClient.Proxy.Credentials = CredentialCache.DefaultCredentials;
.NET Core 2.0ã§106.1.0ãã106.2.0ã«ã¢ããã°ã¬ãŒãããŸãããã次ã®ã¡ãã»ãŒãžã衚瀺ããå§ããŸããã
System.PlatformNotSupportedException: Operation is not supported on this platform.
ä»ã®äººãè¿°ã¹ãããã«ããã®ã¡ãã»ãŒãžã¯System.Net.SystemWebproxy.GetProxyã«ãã£ãŠçæãããããã§ãããç§ã®ã€ã³ã¹ã¿ã³ã¹ã§ã¯ããããã·ãæ瀺çã«æ§æããŠããŸãããå éšçã«ã¯ç¬èªã®æäœãå®è¡ããèŠæ±ãããã³ã«äŸå€ãã¹ããŒããŸãã
106.1.0ã«æ»ã£ãŠãããã§ä¿®æ£ãããã®ã§ããããã·èšå®ãäœããã®æ¹æ³ã§æ瀺ããå¿ èŠããã106.2.0ã§äœãå€æŽããããŸããïŒ
@voiceboothããã¯ïŒ1061ã§å ±åãããŠããŸã
æãåèã«ãªãã³ã¡ã³ã
.NET Standard 2.0ããµããŒããããšããããšã¯ãããããã¹ãŠã®ãã©ãããã©ãŒã ããµããŒãããããšãæå³ã
äžäœäºææ§ã·ã ã䜿çšããŠRestSharpãå®è¡ãããšãã»ãšãã©ã®å Žåæ©èœããŸããHTTPåŒã³åºããåŒã³åºãããã«äœ¿çšãããåºã«ãªãã¯ã©ã¹ã«åé¡ãããã ãã§ããHTTPã¯ã©ã€ã¢ã³ããæ°ããHttpClientã«åãæ¿ããããå Žåã¯ãæ©èœããã¯ãã§ãã
å人çãªã¡ã¢ãšããŠãç§ãã¡ã¯ãããªãã£ã¹ã§RestSharpãããªã䜿çšããŠãããASP.NET Coreã䜿çšããŠå®è¡ãããæ°ããã¯ã©ãŠãããŒã¹ã®ãœãªã¥ãŒã·ã§ã³ã«ãã§ã«åãçµãã§ãããããRestSharpãææ°ã®.NETã«çµã¿èŸŒãŸããããšãæ¬åœã«æãã§ããŸããæ°ããRESTã©ã€ãã©ãªã«åãæ¿ããå¿ èŠããªãããã«ããŒãžã§ã³ãèšå®ããŸãã