Попытка загрузить расширение на ThingWorx через службу Windows, написанную на C # - PullRequest
0 голосов
/ 07 октября 2019

Я использую ExtensionPackageUploader из ThingWorx для загрузки расширения через C #. Он работает, когда я запускаю его из Visual Studio , но после установки его в качестве службы Windows он больше не работает.

public void UploadExtensionToThingWorx()
        {
            string endpoint = "/Thingworx/ExtensionPackageUploader";
            string url = "http://" + serverAddress + ":" + serverPort + endpoint;

            string filePath = Path.Combine(ExecutionDirectory, ExtensionFileName);
            byte[] fileContent = ReadFile(filePath);

            string formDataBoundary = String.Format("----------{0:N}", Guid.NewGuid());
            string contentType = "multipart/form-data; boundary=" + formDataBoundary;

            byte[] formData = GetMultipartFormData(formDataBoundary, ExtensionFileName, fileContent);

            HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
            request.Method = "POST";
            request.ContentType = contentType;
            request.CookieContainer = new CookieContainer();
            request.ContentLength = formData.Length;
            request.Headers.Add("AppKey", applicationKey);
            request.Headers.Add("X-XSRF-TOKEN", "TWX-XSRF-TOKEN-VALUE");

            using (Stream requestStream = request.GetRequestStream())
            {
                requestStream.Write(formData, 0, formData.Length);
                requestStream.Close();
            }
        }

Код работает, когда я запускаю его напрямуюот Visual studio.

...