Unfortunately we don’t have any experience working with .NET services. I understand PHP and how that works, but I couldn’t start with .NET.
Speaking in general HTTP terms, which .NET should conform to, I believe the network.upload() API basically does an HTTP PUT. You will get a request URI and then the file will be dumped into the input stream of the HTTP request. Now depending on the server side, you may need to BASE64 encode the file before you send it and then BASE64 decode it on the other side and take the output from that and write a file to a folder you have permission to.
There is a way to use the MIME type of application/x-www-form-urlencoded with HTTP POST requests. This is the way normal web forms post form data to servers. Files can be uploaded this way, but you would have to figure out the whole form encoding protocol:
https://dev.to/sidthesloth92/understanding-html-form-encoding-url-encoded-and-multipart-forms-3lpa
Someone once came up with a Corona module that lets use use this method. I think the source is on GitHub somewhere.
.NET should certainly support application/x-www-form-urlencoded
Rob