В другом вопросе здесь, в Stack Overflow, я наткнулся на очень полезный фрагмент кода для отправки кода в Google Closure Compiler, который может довольно хорошо минимизировать файлы JavaScript.
Однако проблема, с которой я сталкиваюсь, заключается в том, что он не возвращает скомпилированный код в тех случаях, когда я этого не ожидаю.
Код:
Это работает, т.е. возвращает минимизированный код:
Dim script = "function test(name) {alert(name);}test('New user');"
Этот, с другой стороны, ничего не возвращает. Статистика отправляется, но нет скомпилированных данных...:
Dim script = "function test(name) {alert(name);}"
Остальной код, который на самом деле работает:
Dim Data = String.Format(ClosureWebServicePOSTData, HttpUtility.UrlEncode(script))
_Result = New StringBuilder
_HttpWebRequest = DirectCast(WebRequest.Create(ClosureWebServiceURL), HttpWebRequest)
_HttpWebRequest.Method = "POST"
_HttpWebRequest.ContentType = "application/x-www-form-urlencoded"
'//Set the content length to the length of the data. This might need to change if you're using characters that take more than 256 bytes
_HttpWebRequest.ContentLength = Data.Length
'//Write the request stream
Using SW As New StreamWriter(_HttpWebRequest.GetRequestStream())
SW.Write(Data)
End Using
Dim response As WebResponse = _HttpWebRequest.GetResponse()
Using responseStream As Stream = response.GetResponseStream
Dim encoding As Encoding = System.Text.Encoding.GetEncoding("utf-8")
Using readStream As New StreamReader(responseStream, encoding)
Dim read(256) As Char
Dim count As Integer = readStream.Read(read, 0, 256)
While count > 0
Dim str As New String(read, 0, count)
_Result.Append(str)
count = readStream.Read(read, 0, 256)
End While
End Using
End Using
В чем вообще может быть дело? Мне любопытно знать.