Hey guys, We have a requirement for a one to one chat from one of our clients for a social media kind of project we are doing. The problem is that we need it in quick time so i would rather use an already made component that is out there. I do not mind paying a license fee but it must not be a yearly thing. One time fee is something that we can convince our project lead for. I have been searching google for the past 4 days and i do not see any components similar to what we need in asp.net. I do see comet chat for php but we need that in asp.net.

below are some of our main requirements:

1-1 chat
Footer placement in bottom right similar to that of facebook and gmail. The ones i can find right now are all chat room sort of layout which we cannot do.
Status to be changes by user. Appear Offline is a must.
SQL Server Database. We need all chat transcripts to be saved until we want to delete/archive them.
Group Chat is a plus as we might need that in future but is not needed right now. But a possibility of having in future would be a good thing.

Any help/suggestions will be highly appreciated.

mani-hellboy commented: don`t waste our time plz tell ur post closed or not +0

Dani AI

Generated

— quick summary and a pragmatic route given your requirements (bottom‑right 1:1 UI, SQL Server transcripts, “Appear Offline”, Ajax-based):

Two practical paths: buy a commercial ASP.NET chat control that explicitly supports one‑time licensing, or build a small, focused real‑time service yourself. For a fast, robust build the best long‑term choice is to use ASP.NET real‑time messaging (SignalR or equivalent) for push updates and a lightweight “chat window manager” UI anchored to the bottom‑right. As pointed out, there are several open demos and POCs that are useful for UI ideas; treat those as frontend templates rather than production engines.

Minimal data model (example):

CREATE TABLE Conversations (
  ConversationId UNIQUEIDENTIFIER PRIMARY KEY,
  UserAId INT NOT NULL,
  UserBId INT NOT NULL,
  CreatedAt DATETIME NOT NULL DEFAULT GETUTCDATE()
);

CREATE TABLE Messages (
  MessageId BIGINT IDENTITY PRIMARY KEY,
  ConversationId UNIQUEIDENTIFIER NOT NULL,
  FromUserId INT NOT NULL,
  Body NVARCHAR(MAX) NOT NULL,
  SentAt DATETIME NOT NULL DEFAULT GETUTCDATE(),
  DeliveredAt DATETIME NULL,
  ReadAt DATETIME NULL
);
CREATE INDEX IX_Messages_Conversation_SentAt ON Messages(ConversationId, SentAt);

Implementation checklist and cautions:

  • Presence: keep a server side record (LastSeen, IsHidden). “Appear Offline” simply prevents broadcasting presence; still queue messages for delivery.
  • Delivery guarantees: persist messages synchronously to SQL, then push to online recipient; mark Delivered/Read timestamps from client acknowledgements.
  • UI: window manager that clamps windows into the bottom‑right, persists open windows in localStorage, and limits simultaneous windows for UX.
  • Security/scaling: authenticate every signal, sanitize message bodies to prevent XSS, use HTTPS, and plan for a backplane (Redis or similar) if scaling across servers.
    Recommendation: when schedule is tight, use a vetted commercial control that meets one‑time license terms; for maintainability and full control, implement a small SignalR‑based backend and reuse proven chat UI patterns from the demos linked.
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.