아래 코드를 붙여 넣었습니다. 유형 'System.IO.FileNotFoundException'형식의 예외가 발생비동기 GetAwaiter() 이상한 예외를 던지고
:이 예외로 결과를 얻는 경우가 던져
mapPromise.GetAwaiter()
에 내가 마지막 줄에 awaitable 전화Task<IEnumerable<SkuGcn>> GetSkuGcnList();
를 호출 신체의 첫 번째 줄에 System.Private.CoreLib.ni.dll하지만 사용자 코드에서 처리되지 않았습니다.추가 정보 : 파일 또는 어셈블리를로드 할 수 없습니다. 'System.Runtime.Serialization.Xml, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a '. 시스템이 지정된 파일을 찾을 수 없습니다.
은 내가 브레이크 포인트를 설정할 수 있기 때문에 GetSkuGcnList()
전화가 호출 내 서비스는, 호출되는 알고 통화가 이루어질 때 나는 그것을 휴식. 그렇다면 서비스가 돌아온 것 같습니다.
이 코드는 ASP.NET 5 RC1에서 제대로 작동하지만 ASP.Net Core 1.0 릴리스에서는 그리 좋지 않습니다.
도움이 될 것입니다.
public ProductItemsCacheStore(IItemsProductCacheRepository itemsRepo, IProductAvailabilityPricing proxyGoliathApi,
IProductItemListRepo itemsListsRepo, IItemPricesCacheRepo itemPricesRepo)
{
var mapPromise = proxyGoliathApi.GetSkuGcnList();
_items = itemsRepo.GetAllProductOrderListForCache();
_itemsLists = itemsListsRepo.GetItemListsForCache();
_priceZones = itemPricesRepo.GetAllPriceZonesAndItemPrices();
MergeProductsWithGcn(_items, mapPromise.GetAwaiter().GetResult());
}
내 project.json은 다음과 같습니다
이{
"version": "1.0.0-alpha.1",
"description": "AvailabilityPricingClient Class Library",
"authors": [ "irving.lennert" ],
"packOptions": {
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": ""
},
"tooling": {
"defaultNamespace": "AvailabilityPricingClient"
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.AspNet.WebApi.Client": "5.2.3"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
}
}
GetSkuGcnList()
의 구현은 이것이다 :
public async Task<IEnumerable<SkuGcn>> GetSkuGcnList()
{
HttpResponseMessage response = _client.GetAsync("/api/skuGcnList").Result;
if (response.IsSuccessStatusCode)
{
var skuGcns = await response.Content.ReadAsAsync<IEnumerable<SkuGcn>>();
return skuGcns;
}
return null;
}
'mapPromise.GetAwaiter(). GetResult()'는 매우 이상합니다. 'ProductItemsCacheStore'를 비동기로 만들거나'GetSkuGcnList'를 동기로 만들어서 태스크를 반환하지 않을 수 있습니까? 동기화 및 비동기 혼합 항상 문제가 발생 –
문제는 코드가 아니라 project.json 구성에 있다고 가정합니다. project.json의 nugets 참조 및 런타임 구성은 문제의 근원을 찾는 데 유용 할 수 있습니다. 게시물을 업데이트 할 수 있습니까? – Chizh
올바른 WebApi 클라이언트 어셈블리를 사용하고 있지만 참조 오류가 발생했는지 확인하는 데 어려움을 겪고 있습니다. –