Aside from WCF tweaks you might need to make (documented here), you need to think about where you'll be storing your file on the server. You can't just write to a local drive. Ok, you can but local storage isn't guaranteed to stick around. Instead, you'll want to consider storing your upload in an Azure blob, which is considered Durable Storage (it's backed up to multiple locations).
If you upload to an Azure blob directly from your Silverlight client, you'll need to connect with the Azure Storage API. You need to be careful about embedding your key within your Silverlight app, and the recommended guidance is to used Shared Access Signatures - see Steve Marx's post for more info about this.
You can also continue to use a WCF service, and having that service method then store your upload to a blob. This gives you the ability to keep your Silverlight app's upload logic intact, and also rely on your service tier to track access to your uploaded file.