


Detaillierte Erl?uterung der Nachrichtenantwortmethode für die WeChat-Entwicklung von asp.net
Mar 24, 2017 pm 02:43 PMWenn ein gew?hnlicher WeChat-Benutzer eine Nachricht an ein ?ffentliches Konto sendet, sendet der WeChat-Server das XML-Datenpaket der Nachricht an die vom Entwickler eingegebene URL.
Bitte beachten Sie:
1、關(guān)于重試的消息排重,推薦使用msgid排重。 2、微信服務(wù)器在五秒內(nèi)收不到響應(yīng)會(huì)斷掉連接,并且重新發(fā)起請(qǐng)求,總共重試三次。假如服務(wù)器無(wú)法保證在五秒內(nèi)處理并回復(fù),可以直接回復(fù)空串,微信服務(wù)器不會(huì)對(duì)此作任何處理,并且不會(huì)發(fā)起重試。詳情請(qǐng)見(jiàn)“發(fā)送消息-被動(dòng)回復(fù)消息”。 3、為了保證更高的安全保障,開發(fā)者可以在公眾平臺(tái)官網(wǎng)的開發(fā)者中心處設(shè)置消息加密。開啟加密后,用戶發(fā)來(lái)的消息會(huì)被加密,公眾號(hào)被動(dòng)回復(fù)用戶的消息也需要加密(但開發(fā)者通過(guò)客服接口等API調(diào)用形式向用戶發(fā)送消息,則不受影響)。關(guān)于消息加解密的詳細(xì)說(shuō)明,請(qǐng)見(jiàn)“消息加解密說(shuō)明”。
Die Push-XML-Paketstruktur jedes Nachrichtentyps ist wie folgt:
? |
Textnachricht
?<xml> ?<tousername></tousername> ?<fromusername></fromusername>? ?<createtime>1348831860</createtime> ?<msgtype></msgtype> ?<content></content> ?<msgid>1234567890123456</msgid> ?</xml>
Parameter | Beschreibung | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ToUserName |
Micro Signal |
||||||||||||||
FromUserName | Absenderkonto (eine OpenID) | ||||||||||||||
CreateTime | Zeitpunkt der Nachrichtenerstellung (Ganzzahl)|||||||||||||||
MsgType | Text | ||||||||||||||
Inhalt | Textnachrichteninhalt | ||||||||||||||
MsgId | Nachrichten-ID, 64-Bit-Ganzzahl |
參數(shù) | 描述 |
---|---|
ToUserName | 開發(fā)者微信號(hào) |
FromUserName | 發(fā)送方帳號(hào)(一個(gè)OpenID) |
CreateTime | 消息創(chuàng)建時(shí)間 (整型) |
MsgType | image |
PicUrl | 圖片鏈接 |
MediaId | 圖片消息媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。 |
MsgId | 消息id,64位整型 |
Parameter | Beschreibung | ||
---|---|---|---|
ToUserName td > | EntwicklerWeChat-ID |
||
FromUserName | Absenderkonto (eine OpenID) | tr>CreateTime | Erstellungszeit der Nachricht (Ganzzahl) |
MsgType | image | ||
PicUrl | Bildlink | ||
MediaId | Bildnachrichten-Medien-ID, Sie k?nnen die Multimedia-Datei-Download-Schnittstelle aufrufen ruft Daten ab. | ||
MsgId | Nachrichten-ID, 64-Bit-Ganzzahl |
<xml> <tousername></tousername> <fromusername></fromusername> <createtime>1357290913</createtime> <msgtype></msgtype> <mediaid></mediaid> <format></format> <msgid>1234567890123456</msgid> </xml>
參數(shù) | 描述 |
---|---|
ToUserName | 開發(fā)者微信號(hào) |
FromUserName | 發(fā)送方帳號(hào)(一個(gè)OpenID) |
CreateTime | 消息創(chuàng)建時(shí)間 (整型) |
MsgType | 語(yǔ)音為voice |
MediaId | 語(yǔ)音消息媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。 |
Format | 語(yǔ)音格式,如amr,speex等 |
MsgID | 消息id,64位整型 |
Parameter | Beschreibung |
---|---|
ToUserName | Entwickler<xml> <tousername></tousername> <fromusername></fromusername> <createtime>1357290913</createtime> <msgtype></msgtype> <mediaid></mediaid> <format></format> <recognition></recognition> <msgid>1234567890123456</msgid> </xml>WeChat-ID |
FromUserName | Absenderkonto (eine OpenID) |
CreateTime | Nachrichtenerstellungszeit (Ganzzahl) |
MsgType | Stimme ist Stimme | Sprachnachrichten-Medien-ID, Sie k?nnen die Schnittstelle zum Herunterladen von Multimediadateien aufrufen, um Daten abzurufen. |
Format | Sprachformat wie AMR, Speex usw. |
MsgID td>Nachrichten-ID, 64-Bit-Ganzzahl |
Bitte beachten Sie, dass nach der Aktivierung der Spracherkennung jedes Mal, wenn der Benutzer eine Sprachnachricht an den Beamten sendet Konto, WeChat wird die Nachricht pushen. Fügen Sie im XML-Datenpaket der Sprachnachricht ein Erkennungsfeld hinzu (Hinweis: Aufgrund des Client-Caching aktivieren oder deaktivieren Entwickler die Spracherkennungsfunktion, die für neue Follower sofort wirksam wird und bereits 24 Stunden dauert Entwickler k?nnen diesem Konto erneut folgen. Dieses Konto dient zum Testen. Das Sprach-XML-Datenpaket nach der Aktivierung der Spracherkennung lautet wie folgt:
In den zus?tzlichen Feldern ist ?Format“ das Sprachformat, normalerweise amr, und ?Recognition“ das Spracherkennungsergebnis unter Verwendung der UTF8-Kodierung.
<xml> <tousername></tousername> <fromusername></fromusername> <createtime>1357290913</createtime> <msgtype></msgtype> <mediaid></mediaid> <thumbmediaid></thumbmediaid> <msgid>1234567890123456</msgid> </xml>Videobotschaft
參數(shù) | 描述 |
---|---|
ToUserName | 開發(fā)者微信號(hào) |
FromUserName | 發(fā)送方帳號(hào)(一個(gè)OpenID) |
CreateTime | 消息創(chuàng)建時(shí)間 (整型) |
MsgType | 視頻為video |
MediaId | 視頻消息媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。 |
ThumbMediaId | 視頻消息縮略圖的媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。 |
MsgId | 消息id,64位整型 |
Parameter
Beschreibung
ToUserName
EntwicklerWeChat-ID
FromUserName
Absenderkonto (eine OpenID)
CreateTime
Erstellungszeit der Nachricht (Ganzzahl)
MsgType
Video ist Video
MediaId
Medien-ID der Videonachricht. Sie k?nnen die Schnittstelle zum Herunterladen von Multimediadateien aufrufen, um Daten abzurufen.
ThumbMediaId
Die Medien-ID der Miniaturansicht der Videonachricht. Sie k?nnen die Schnittstelle zum Herunterladen von Multimediadateien aufrufen, um die Daten abzurufen.
MsgId
Nachrichten-ID, 64-Bit-Ganzzahl
<xml>
<tousername></tousername>
<fromusername></fromusername>
<createtime>1357290913</createtime>
<msgtype></msgtype>
<mediaid></mediaid>
<thumbmediaid></thumbmediaid>
<msgid>1234567890123456</msgid>
</xml>
參數(shù)
描述
ToUserName
開發(fā)者微信號(hào)
FromUserName
發(fā)送方帳號(hào)(一個(gè)OpenID)
CreateTime
消息創(chuàng)建時(shí)間 (整型)
MsgType
小視頻為shortvideo
MediaId
視頻消息媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。
ThumbMediaId
視頻消息縮略圖的媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)。
MsgId
消息id,64位整型
Kleine Videobotschaft
ParameterBeschreibung
ToUserName
EntwicklerWeChat-ID
FromUserName
Absenderkonto (eine OpenID)
CreateTimeErstellungszeit der Nachricht (Ganzzahl)
MsgType
Das kurze Video ist shortvideo
MediaId
Medien-ID der Videonachricht. Sie k?nnen die Schnittstelle zum Herunterladen von Multimediadateien aufrufen, um Daten abzurufen.
ThumbMediaId
Die Medien-ID der Miniaturansicht der Videonachricht. Sie k?nnen die Schnittstelle zum Herunterladen von Multimediadateien aufrufen, um die Daten abzurufen.
MsgId
Nachrichten-ID, 64-Bit-Ganzzahltyp
地理位置消息
<xml>
<tousername></tousername>
<fromusername></fromusername>
<createtime>1351776360</createtime>
<msgtype></msgtype>
<location_x>23.134521</location_x>
<location_y>113.358803</location_y>
<scale>20</scale>
<label></label>
<msgid>1234567890123456</msgid>
</xml>
參數(shù)
描述
ToUserName
開發(fā)者微信號(hào)
FromUserName
發(fā)送方帳號(hào)(一個(gè)OpenID)
CreateTime
消息創(chuàng)建時(shí)間 (整型)
MsgType
location
Location_X
地理位置維度
Location_Y
地理位置經(jīng)度
Scale
地圖縮放大小
Label
地理位置信息
MsgId
消息id,64位整型
鏈接消息
<xml>
<tousername></tousername>
<fromusername></fromusername>
<createtime>1351776360</createtime>
<msgtype></msgtype>
<title></title>
<description></description>
<url></url>
<msgid>1234567890123456</msgid>
</xml>
參數(shù)
描述
ToUserName
接收方微信號(hào)
FromUserName
發(fā)送方微信號(hào),若為普通用戶,則是一個(gè)OpenID
CreateTime
消息創(chuàng)建時(shí)間
MsgType
消息類型,link
Title
消息標(biāo)題
Description
消息描述
Url
消息鏈接
MsgId
消息id,64位整型

Weiter zum vorherigen Artikel, schauen Sie sich ResponseXML(postString) an; die Methode ist wie folgt
///
/// Von Benutzern gesendete Nachrichten abrufen
///
///
private void ResponseXML(string postString)
{
?????????????????????????????????????????????????????????????????????Element;//Holen Sie sich das Stammverzeichnis des Dokuments
XmlNode MsgType = rootElement.SelectSingleNode("MsgType");/Holen Sie sich den Text Typ der Nachricht
RequestXML requestXML = new RequestXML();//Deklarieren Sie die Instanz, rufen Sie jedes Attribut ab und weisen Sie einen Wert zu
requestXML.ToUserName = rootElement.SelectSingleNode ("ToUserName").InnerText;//?ffentliches Konto
requestXML.FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText;//Benutzer
requestXML.CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText ;//Erstellungszeit
requestXML.MsgType = MsgType.InnerText;//Nachrichtentyp
?????????????????????????????????????????????????????? ????????????????????????????????????????????requestXML.Content = rootElement.SelectSingleNode("Content").InnerText;
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Werte geografischer Standort, Breitengrad, L?ngengrad, Kartenzoomverh?ltnis, geografische Standortbeschreibung
requestXML.Location_X = rootElement.SelectSingleNode("Location_X").InnerText;
requestXML.Location_Y = rootElement.SelectSingleNode("Location_Y").InnerText;
requestXML.Scale = rootElement.SelectSingleNode("Scale").InnerText;
??m().ToLower() = = "event")
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????requestXML.EventKey = rootElement.SelectSingleNode.InnerText;
???????????????????????????????????????????????????????????????????????????????????????????????auf die Spracherkennungsfunktion im Entwicklermodus, sonst k?nnen Sie sie nicht abrufen. requestXML.Recognition = rootElement.SelectSingleNode("Recognition").InnerText;
Die Spracherkennungsfunktion wird wie folgt aktiviert:
requestXML ist eine von mir separat erstellte Klasse, die die h?ufig verwendeten Attributfelder in Nachrichten als deklariert folgt:
///
/// Die Entit?tsklasse, die die Nachricht empf?ngt
///
?ffentliche Klasse RequestXML
{
private String toUserName = String .Empty; }
/*Das Folgende ist das eindeutige Attribut des Ereignistyps
?????????? public String EventName{get;set;}
????????? /// string eventKey {get; ;}
/*unten sind die eindeutigen Attribute der Grafiktypen*/
/// & lt; Zusammenfassung & gt; Zusammenfassung>?????????????????????????????????????????????????????????????????????? /// /// mary>
Das Folgende sind die eindeutigen Attribute des Nachrichtentyps type*/
/// & lt; Zusammenfassung & gt; /
/// L?ngengrad des geografischen Standorts
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????> ///
public String Recognition { get; set; Methode ist wie folgt:
private void ResponseMsg(RequestXML requestXML )
??????????????????????????????????????????????????????????????? string MsgType = request???????????? switch (MsgType)
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????case "event"://Send event message
if (!string.IsNullOrWhiteSpace(requestXML.EventName ) && requestXML.EventName.ToString().Trim().Equals("subscribe"))
????????????????????????????????????????????????????????????????????????????????? ??>???????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?if (!string.IsNullOrWhiteSpace(requestXML.EventName) && requestXML.EventName .ToString().Trim().Equals("CLICK"))
????????????????????????????????????????????????????????????????????????????????????? g(requestXML);//Send event message
}
Pause;
case ?voice“:
SendVoiceMsg(requestXML);//Eine Sprachnachricht senden
break;
case ?location“://Send location message
??????SendMapMsg(requestXML);
Break;
Standard:
break; requestXML.ToUserName, requestXML.Content); > }
FormatTextXML-Methode legt das Format fest
///
/// Den formatierten XML-Inhalt zurückgeben
?ffentlich
??????????????????????????????????????????????????????????????????????????????????????????????/param>
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Benutzername> ;" + DateTime.Now.Subtract(new DateTime( 1970, 1, 1, 8, 0, 0)).TotalSeconds.ToString() + " 1 ";
???????????
Auf diese Weise wird die Wenn der Benutzer auf die Schaltfl?che klickt, wird der folgende Code angezeigt:
case "event"://Send event message
if
(!string.IsNullOrWhiteSpace(requestXML.EventName) &&
requestXML.EventName.ToString().Trim().Equals("subscribe"))
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
else if (!string.IsNullOrWhiteSpace(requestXML.EventName) &&
requestXML.EventName.ToString().Trim().Equals("CLICK"))???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
///
; param>
private void SendEventMsg(RequestXML requestXML)
{
string keyStr = requestXML.EventKey.ToString();
switch (keyStr )
{
case "mypay":
????????? SendPayDetails(requestXML);//Gehaltsabrechnung senden
????????????????????????????????????????????????SendWeaterMessage(requestXML);/ /Wettervorhersage senden
Pause;
Fall ?kaixinyixiao " :
SendKaiXinMessage(requestXML);//Sende einen Happy-Smile-Ergebnissatz
????????????????????????????????SendUpdateMessage(requestXML);//Sende ?nderungsinformationslink
> case "yuangonghuodong":
. SendYuanGongHuoDong(re questXML);/ /Schüleraktivit?ten senden
Pause;
Fall "yu. angongtongzhi":
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? SendYuanGongTongzhi(requestXML);? //Mitarbeiterbenachrichtigung senden
????????????????????????????Wenti(Anfrage senden???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????:
SendWentiList (requestXML);//Link zur Fragenliste senden
?????????????????????????????????????????????????????????????;
Standard:
String ResponseContent =. String.Emp ty;
ResponseContent = FormatTextXML(requestXML.FromUserName, requestXML.ToUserName,"Diese Funktion ist noch nicht verfügbar! Bleiben Sie dran!"); );
HttpContext.Current.Response.End();
break;
}
}
SendWelComeMsg(requestXML); //Die grafische Nachricht wird zurückgegeben, wenn
folgt
/// /// Die grafische Nachricht wurde zurückgegeben, wenn
/// folgt??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????? string PUrlfileName = "http://www.deqiaohr. com.cn/weixin/welcome.jpg" ;
ResponseContent = string.Format(Message_News_Main, requestXML.FromUserName, requestXML.ToUserName, newdate, "1",
Employee Service Center", "Suzhou Deqiao Human Resources wurde 2002 gegründet ...", PUrlfileName, "http://www.deqiaohr.com.cn/weixin/WxGsjianjie.aspx"));
HttpContext.Current .Response.ContentType = "text/xml";
??????????HttpContext.Current.Response.ContentEncoding = Encoding.UTF8; HttpContext.Current.Response.End ();
}
Message_News_Main und Message_News_Item sind Grafik- und Textnachrichtenformate
{
??????????? bekommen
{
??????????????? return @"
?????????????????????????.
??????????????????????????
????????????????????????? {2}
????????????????????????;![CDATA[news]]>
?????????????????????????? {3}
??????????????????????????. {3} ??????????? {4}
?????????????????????????
??????????????????????? ??> {??
??????? {
??????????? get
??????????? {
??????????????? return @"
?????????????????????????
???????????????????????????
??????????????????????????
??????????????????????????
?????????????????????????. ????? }
??????? }
///
??????????????????????????? ///???????????????????????????????????/param>
private void. SendV oiceMsg(RequestXML requestXML)
ToString());
HttpContext.Current.Response.ContentType = "text /xml";
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
HttpContext.Current .Response.Write(responseContent) ;
HttpContext.Current.Response.End();
}

Klicken Sie, um den vollst?ndigen Text anzuzeigen und direkt zu der von Ihnen geschriebenen Webseite zu springen. Bezüglich des Problems der Anpassung von Webseitenbildern stellen Sie einfach die Breite ein Wenn Sie m?chten, dass sich die Webseite an den Bildschirm anpasst, denken Sie daran, 
消息id,64位整型

/// Von Benutzern gesendete Nachrichten abrufen
///
///
private void ResponseXML(string postString)
{
?????????????????????????????????????????????????????????????????????Element;//Holen Sie sich das Stammverzeichnis des Dokuments
XmlNode MsgType = rootElement.SelectSingleNode("MsgType");/Holen Sie sich den Text Typ der Nachricht
RequestXML requestXML = new RequestXML();//Deklarieren Sie die Instanz, rufen Sie jedes Attribut ab und weisen Sie einen Wert zu
requestXML.ToUserName = rootElement.SelectSingleNode ("ToUserName").InnerText;//?ffentliches Konto
requestXML.FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText;//Benutzer
requestXML.CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText ;//Erstellungszeit
requestXML.MsgType = MsgType.InnerText;//Nachrichtentyp
?????????????????????????????????????????????????????? ????????????????????????????????????????????requestXML.Content = rootElement.SelectSingleNode("Content").InnerText;
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Werte geografischer Standort, Breitengrad, L?ngengrad, Kartenzoomverh?ltnis, geografische Standortbeschreibung
requestXML.Location_X = rootElement.SelectSingleNode("Location_X").InnerText;
requestXML.Location_Y = rootElement.SelectSingleNode("Location_Y").InnerText;
requestXML.Scale = rootElement.SelectSingleNode("Scale").InnerText;
??m().ToLower() = = "event")
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????requestXML.EventKey = rootElement.SelectSingleNode.InnerText;
???????????????????????????????????????????????????????????????????????????????????????????????auf die Spracherkennungsfunktion im Entwicklermodus, sonst k?nnen Sie sie nicht abrufen. requestXML.Recognition = rootElement.SelectSingleNode("Recognition").InnerText;
Die Spracherkennungsfunktion wird wie folgt aktiviert:
requestXML ist eine von mir separat erstellte Klasse, die die h?ufig verwendeten Attributfelder in Nachrichten als deklariert folgt:
/// Die Entit?tsklasse, die die Nachricht empf?ngt
///
?ffentliche Klasse RequestXML
{
private String toUserName = String .Empty; }
/*Das Folgende ist das eindeutige Attribut des Ereignistyps
?????????? public String EventName{get;set;}
????????? ///
/*unten sind die eindeutigen Attribute der Grafiktypen*/
/// & lt; Zusammenfassung & gt; Zusammenfassung>?????????????????????????????????????????????????????????????????????? /// ///
Das Folgende sind die eindeutigen Attribute des Nachrichtentyps type*/
/// & lt; Zusammenfassung & gt; /
/// L?ngengrad des geografischen Standorts
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????> ///
public String Recognition { get; set; Methode ist wie folgt:
private void ResponseMsg(RequestXML requestXML )
??????????????????????????????????????????????????????????????? string MsgType = request???????????? switch (MsgType)
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????case "event"://Send event message
if (!string.IsNullOrWhiteSpace(requestXML.EventName ) && requestXML.EventName.ToString().Trim().Equals("subscribe"))
????????????????????????????????????????????????????????????????????????????????? ??>???????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?if (!string.IsNullOrWhiteSpace(requestXML.EventName) && requestXML.EventName .ToString().Trim().Equals("CLICK"))
????????????????????????????????????????????????????????????????????????????????????? g(requestXML);//Send event message
}
SendVoiceMsg(requestXML);//Eine Sprachnachricht senden
break;
case ?location“://Send location message
??????SendMapMsg(requestXML);
Break;
Standard:
break; requestXML.ToUserName, requestXML.Content); > }
FormatTextXML-Methode legt das Format fest
/// Den formatierten XML-Inhalt zurückgeben
?ffentlich
??????????????????????????????????????????????????????????????????????????????????????????????/param>
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Benutzername> ;
???????????
Auf diese Weise wird die Wenn der Benutzer auf die Schaltfl?che klickt, wird der folgende Code angezeigt:
case "event"://Send event message
if (!string.IsNullOrWhiteSpace(requestXML.EventName) && requestXML.EventName.ToString().Trim().Equals("subscribe"))
; param>
private void SendEventMsg(RequestXML requestXML)
{
string keyStr = requestXML.EventKey.ToString();
switch (keyStr )
{
case "mypay":
????????? SendPayDetails(requestXML);//Gehaltsabrechnung senden
????????????????????????????????????????????????SendWeaterMessage(requestXML);/ /Wettervorhersage senden
Pause;
Fall ?kaixinyixiao " :
SendKaiXinMessage(requestXML);//Sende einen Happy-Smile-Ergebnissatz
????????????????????????????????SendUpdateMessage(requestXML);//Sende ?nderungsinformationslink
> case "yuangonghuodong":
. SendYuanGongHuoDong(re questXML);/ /Schüleraktivit?ten senden
Pause;
Fall "yu. angongtongzhi":
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? SendYuanGongTongzhi(requestXML);? //Mitarbeiterbenachrichtigung senden
????????????????????????????Wenti(Anfrage senden???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????:
SendWentiList (requestXML);//Link zur Fragenliste senden
?????????????????????????????????????????????????????????????;
Standard:
String ResponseContent =. String.Emp ty;
ResponseContent = FormatTextXML(requestXML.FromUserName, requestXML.ToUserName,"Diese Funktion ist noch nicht verfügbar! Bleiben Sie dran!"); );
HttpContext.Current.Response.End();
break;
}
}
SendWelComeMsg(requestXML); //Die grafische Nachricht wird zurückgegeben, wenn
folgt
/// Die grafische Nachricht wurde zurückgegeben, wenn
///ResponseContent = string.Format(Message_News_Main, requestXML.FromUserName, requestXML.ToUserName, newdate, "1",
Employee Service Center", "Suzhou Deqiao Human Resources wurde 2002 gegründet ...", PUrlfileName, "http://www.deqiaohr.com.cn/weixin/WxGsjianjie.aspx"));
HttpContext.Current .Response.ContentType = "text/xml";
??????????HttpContext.Current.Response.ContentEncoding = Encoding.UTF8; HttpContext.Current.Response.End ();
}
Message_News_Main und Message_News_Item sind Grafik- und Textnachrichtenformate
{
{
??????????????? return @"
?????????????????????????.
??????????????????????????
?????????????????????????
????????????????????????;![CDATA[news]]>
??????????????????????????
??????????????????????????.
?????????????????????????
???????????????????????
??????? {
??????????? get
??????????? {
??????????????? return @"
?????????????????????????
???????????????????????????
??????????????????????????
??????????????????????????
?????????????????????????.
??????? }
??????????????????????????? ///???????????????????????????????????/param>
private void. SendV oiceMsg(RequestXML requestXML)
ToString());
HttpContext.Current.Response.ContentType = "text /xml";
HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
HttpContext.Current .Response.Write(responseContent) ;
HttpContext.Current.Response.End();
}



Das obige ist der detaillierte Inhalt vonDetaillierte Erl?uterung der Nachrichtenantwortmethode für die WeChat-Entwicklung von asp.net. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)