ImageUploadAssist——Interface

IUploadImageService.cs

/// <summary>
        /// 图片上传接口
        /// </summary>
        /// <param name="uploadImageData"></param>
        /// <returns></returns>
        [OperationContract]
        [WebInvoke(ResponseFormat = WebMessageFormat.Json, Method = "POST", RequestFormat = WebMessageFormat.Json, UriTemplate = "Upload_ImageInterface")]
        dataresult UploadImageInterface(System.IO.Stream uploadImageData);

        /// <summary>
        /// 缩略图接口
        /// </summary>
        /// <param name="uploadThumbnailImageData"></param>
        /// <returns></returns>
        [OperationContract]
        [WebInvoke(ResponseFormat = WebMessageFormat.Json, Method = "POST", RequestFormat = WebMessageFormat.Json, UriTemplate = "Upload_ThumbnailInterface")]
        dataresult UploadThumbnailInterface(System.IO.Stream uploadThumbnailImageData);

UploadImageService.svc

public dataresult UploadImageInterface(System.IO.Stream uploadImageData)
        {

            return new Biz_UploadImage().UploadImageInterface(uploadImageData, GetEndpoint().Address);
        }


        public dataresult UploadThumbnailInterface(System.IO.Stream uploadThumbnailImageData)
        {
            return new Biz_UploadImage().UploadThumbnailInterface(uploadThumbnailImageData, GetEndpoint().Address);
        }

        private RemoteEndpointMessageProperty GetEndpoint()
        {
            //提供方法执行的上下文环境
            OperationContext context = OperationContext.Current;
            //获取传进的消息属性
            MessageProperties properties = context.IncomingMessageProperties;
            //获取消息发送的远程终结点IP和端口
            return properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;

            //可以尝试利用OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name 来获取调用者的域名。它返回的格式是"{domain}{username}"。

            //ServiceSecurityContext.Anonymous. context.ServiceSecurityContext.PrimaryIdentity.Name
        }
原文地址:https://www.cnblogs.com/FH-cnblogs/p/5711619.html