Если вы посмотрите на серверные переменные, когда они сделают запрос, у вас будет Request.ServerVariables ["REMOTE_ADDR"];который, вероятно, будет внутренним IP, если приложение является внутренним / интранет.Также есть REMOTE_HOST.Иногда они отфильтровываются через прокси / брандмауэры / nat, но, надеюсь, не в вашей ситуации.
Вы также можете вызвать их в объекте HTTPRequest, например, Request.UserHostAddress.Возможно, вам понадобится получить его в соответствии с текущим контекстом HTTPContext.Current.Request.UserHostAddress.
Если вы не можете этого получить, просто верните документ, данные, файл в Запрос, чтобы они распечатались, и выберитепринтер с помощью Response.BinaryWrite (), задающий тип содержимого файла, к которому они обращаются.
Здесь перечислены все серверные переменные для IIS, поскольку вы используете ASP.NET: http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx
Другая возможностьзаключается в том, чтобы отправить его пользователю по электронной почте, если это длительный отчет, или разрешить ему доступ к документу с помощью входа в систему, чтобы распечатать себя.