[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis page documents the \u003ccode\u003eIClientStreamWriter<T>\u003c/code\u003e interface, which represents a client-side writable stream of messages.\u003c/p\u003e\n"],["\u003cp\u003eThe interface is available in multiple versions, including 2.66.0 (latest), 2.63.0, and 2.48.0, each with potentially unique features.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIClientStreamWriter<T>\u003c/code\u003e inherits from \u003ccode\u003eIAsyncStreamWriter<T>\u003c/code\u003e, offering functionalities like \u003ccode\u003eWriteAsync(T)\u003c/code\u003e and \u003ccode\u003eWriteOptions\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe interface's primary method is \u003ccode\u003eCompleteAsync()\u003c/code\u003e, which is used to close the stream after all writes have been completed, and it returns a \u003ccode\u003eTask\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eT\u003c/code\u003e parameter in \u003ccode\u003eIClientStreamWriter<T>\u003c/code\u003e indicates the message type for the stream.\u003c/p\u003e\n"]]],[],null,["# Interface IClientStreamWriter<T> (2.66.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.66.0 (latest)](/dotnet/docs/reference/Grpc.Core/latest/Grpc.Core.IClientStreamWriter-1)\n- [2.63.0](/dotnet/docs/reference/Grpc.Core/2.63.0/Grpc.Core.IClientStreamWriter-1)\n- [2.48.0](/dotnet/docs/reference/Grpc.Core/2.48.0/Grpc.Core.IClientStreamWriter-1) \n\n public interface IClientStreamWriter\u003cin T\u003e : IAsyncStreamWriter\u003cT\u003e\n\nClient-side writable stream of messages with Close capability. \n\nInherited Members\n-----------------\n\n[IAsyncStreamWriter\\\u003cT\\\u003e.WriteAsync(T)](/dotnet/docs/reference/Grpc.Core/latest/Grpc.Core.IAsyncStreamWriter-1#Grpc_Core_IAsyncStreamWriter_1_WriteAsync__0_) \n[IAsyncStreamWriter\\\u003cT\\\u003e.WriteOptions](/dotnet/docs/reference/Grpc.Core/latest/Grpc.Core.IAsyncStreamWriter-1#Grpc_Core_IAsyncStreamWriter_1_WriteOptions)\n\nNamespace\n---------\n\n[Grpc.Core](/dotnet/docs/reference/Grpc.Core/latest/Grpc.Core)\n\nAssembly\n--------\n\nGrpc.Core.Api.dll\n\nMethods\n-------\n\n### CompleteAsync()\n\n Task CompleteAsync()\n\nCompletes/closes the stream. Can only be called once there is no pending write. No writes should follow calling this."]]