C#のMicrosoft.Rtc.Collaboration.AudioVideo.VoiceXml.Browserオブジェクトには、実行するVxmlページのURIを取得するRunAsyncメソッドと、理論的には、内で使用できるパラメーターを渡すことができるCookieCollectionがあります。脚本。VxmlからCookieを取得するために考えられるすべての方法を試しましたが、ドキュメントに添付されているものはないようです。Vxmlから渡されたCookieにアクセスする方法に関するアイデアはありますか?
その単純なリストでは、これは私がvxmlとして持っていたものです:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE vxml PUBLIC "-//BeVocal Inc//VoiceXML 2.0//EN" "http://cafe.bevocal.com/libraries/dtd/vxml2-0-bevocal.dtd">
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml" xml:lang="en-US" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/vxml http://www.w3.org/TR/voicexml21/vxml.xsd" >
<form id="QueueForm">
<script>
<![CDATA[
function GetCookie(name)
{
var cookies = document.cookie;
return cookies;
}
]]>
</script>
<var name="cookie" expr="GetCookie('')" />
<field name="QueueField">
<prompt>
<value expr="cookie" />
were cookies
</prompt>
<grammar mode="dtmf" root="Dtmf">
<rule id="Dtmf">
<one-of>
<item> 1 </item>
</one-of>
</rule>
</grammar>
<filled>
<exit namelist="cookie"/>
</filled>
</field>
</form>
</vxml>
そしてこれは呼び出しコードで
_browser.SetAudioVideoCall(_call);
System.Net.CookieContainer cookies = new System.Net.CookieContainer(1);
cookies.Add(new System.Net.Cookie("data", "grapefruit", "/", "localhost"));
_browser.Run(_startPage, cookies);
...これにより、「Cookieでした」という音声が表示されます。すべての場合に私は試しました。
Cookieオブジェクトにさまざまなドメインとパスを設定し、さまざまなJavascriptオブジェクトを呼び出して、さまざまな方法でCookieを取得しようとしましたが、Cookieにアクセスできませんでした。VxmlのMicrosoftサンプルプロジェクトにも、Cookieにアクセスする例は含まれていません。渡されたアイテムにアクセスする方法があると確信していますが、その方法を理解できていません。何かご意見は?