Если вы работаете с Java и уже знакомы с языком Java, почему бы просто не использовать JAVA Tooling для создания приложения Azure полностью на Java?
Кроме этого, вот ответы на ваши вопросы:
У меня была идея показать пользователю текстовую область, где он может
написать свой код Java, а затем автоматически сохранить его как файл .java
когда он нажимает кнопку сохранения. Это возможно? Есть ли способ
получить содержимое текстовой области, а затем сохранить содержимое в
файл с расширением .java?
Да, это возможно. Вы должны использовать серверный элемент управления ASP.NET TextBox . Вы можете использовать его таким образом:
<asp:TextBox runat="server" ID="tbMyJavaContent" TextMode="multiline" />
В codebhind вам просто нужно получить свойство Text элемента управления:
string javaFileContent = this.tbMyJavaContent.Text;
File.WriteAllText("path_to_file.java", javaFileContent);
// here the logic to upload that file to a Blob storage
Затем сохраните это содержимое в файл. Однако вы не должны просто сохранить его локально! Вы всегда должны использовать хранилище BLOB-объектов (или таблиц) Windows Azure для сохранения своих файлов. Прочтите этот вопрос , чтобы узнать, как загрузить файл в Windows Azure Blob.
Что касается того, есть ли лучший способ для достижения вашей цели, я не знаю. Если задача такова: у ваших конечных пользователей должны быть инструменты для написания собственного кода, который в результате будет сохранен в локальном текстовом файле (с расширением .java). Затем, даже если есть другое решение, они все будут перемещаться, имея текстовую область, в которую пользователь может писать, и сохраняя содержимое этой текстовой области в локальный файл. В конце не забудьте загрузить свой файл в Blob для длительного хранения.
Если вы используете asp.net MVC framework, это еще проще. Вам просто нужно texarea и действие Controller, которое принимает один параметр типа string и name - имя textarea. Что-то вроде (Вид):
@using(Html.BeginForm("SaveContent", "Home", FormMethod.Post))
{
<textarea name="taJavaContent" rows="20" cols="40"></textarea>
}
Контроллер (HomeController.cs):
public ActionResult SaveContent(string taJavaContent)
{
string tmpFileName = SomeMethodToGetLocalFileName();
File.WriteAllText(tmpFileName, taJavaContent);
SomeMethodToUploadLocalFileToABlob(tmpFileName();
}
Надеюсь, это поможет!