백그라운드에서이를 수행하기 위해 NSURLSession을 사용하여 WebAPI에 객체를 업로드하려고합니다. 내 웹 API가 작동합니다 - 내 문제는 클라이언트 코드가 CreateUploadTask() 메서드에 도착한 다음 예외가 발생한다는 것입니다. null 예외이며 출력 창에 아무 것도 없습니다. 따라서 문자 그대로 문제가 무엇인지 나타내는 것은 없습니다. 시작하기 위해 사용하는 코드는 여기에 있습니다.NSURLSession xamarin iOS에서 CreateUploadTask 오류
private NSUrlSessionConfiguration configuration = NSUrlSessionConfiguration.BackgroundSessionConfiguration ("com.SimpleBackgroundTransfer.BackgroundSession");
private NSUrlSession session;
public void SendBackgroundMessage(AppMessage m)
{
session = NSUrlSession.FromConfiguration(configuration, new UploadDelegate(), new NSOperationQueue());
NSUrl uploadHandleUrl = NSUrl.FromString(Constants.ApiUrl + "api/AppMessage/Send");
NSMutableUrlRequest request = new NSMutableUrlRequest(uploadHandleUrl);
request.HttpMethod = "POST";
request["Content-Type"] = "application/json";
var keys = new object[] { "Authorization" };
var objects = new object[] { _accessToken };
var dictionary = NSDictionary.FromObjectsAndKeys(objects, keys);
request.Headers = dictionary;
string json = JsonConvert.SerializeObject(m);
var body = NSData.FromString(json);
var uploadTask = session.CreateUploadTask(request, body);
uploadTask.Resume();
}
json으로 직렬화하고 NSData 객체를 만드는 방식과 관련이 있다고 생각됩니다. 이것에 대한 어떤 조언도 크게 appriciated 것입니다!
편집 : 좋아, 그래서 내가 업로드 작업이 잘 생성 시체 매개 변수를 제거합니다. 내가 json을 구성하는 방식과 관련이 있습니다.
미안하지만 완전히 설명하지 않았습니다. 그것의 NullReferenceException .. 그냥 'null'입니다. try catch에서 catch에서 예외 변수가 null 인 경우 : -O입니다. iOS 용으로 xamarin을 사용할 때를 제외하고는 어디에서도 보지 못했습니다. – creatiive