mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-23 10:08:57 +00:00
Switch to using DI to acquire Node instances. Bump versions to alpha2.
This commit is contained in:
39
Microsoft.AspNet.NodeServices/Util/StringAsTempFile.cs
Normal file
39
Microsoft.AspNet.NodeServices/Util/StringAsTempFile.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Microsoft.AspNet.NodeServices {
|
||||
// Makes it easier to pass script files to Node in a way that's sure to clean up after the process exits
|
||||
public sealed class StringAsTempFile : IDisposable {
|
||||
public string FileName { get; private set; }
|
||||
|
||||
private bool _disposedValue;
|
||||
|
||||
public StringAsTempFile(string content) {
|
||||
this.FileName = Path.GetTempFileName();
|
||||
File.WriteAllText(this.FileName, content);
|
||||
}
|
||||
|
||||
private void DisposeImpl(bool disposing)
|
||||
{
|
||||
if (!_disposedValue) {
|
||||
if (disposing) {
|
||||
// TODO: dispose managed state (managed objects).
|
||||
}
|
||||
|
||||
File.Delete(this.FileName);
|
||||
|
||||
_disposedValue = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
DisposeImpl(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
~StringAsTempFile() {
|
||||
DisposeImpl(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user