因為要做一個網站
能讓外部使用者呼叫api傳送訊息到Server後,根據內容,再使用websocket的方式,轉傳給對應的服務人員,目前我是在websocket這一部份沒有問題,但現在碰到的問題是api收到內容後,不知道怎麼使用已存在的websocket物件中的session送出訊息。
下面是我目前的程式碼
Global.asax
public class WebApiApplication : System.Web.HttpApplication
{
public ChatWebSocket chatWebsocket;
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
//啟動websocket
chatWebsocket = new ChatWebSocket();
chatWebsocket.Start();
}
}
GetLine200Controller.cs
//接收Line訊息轉接
public class GetLine200Controller : ApiController
{
[HttpPost]
public IHttpActionResult POST()
{
DateTime now = DateTime.Now;
//收到的訊息
string postData = Request.Content.ReadAsStringAsync().Result;
//透過chatwebsocket傳送到client端
return Ok();
}
}