Tag: 网络服务

从DTO创建BO的模式/策略

我喜欢使用属性包对象(DTO)定义我的服务器接口的方法,但我不喜欢这样编写代码: void ModifyDataSomeWay(WibbleDTO wibbleDTO) { WibbleBOWithMethods wibbleBO = new WibbleBOWithMethods(); wibbleBO.Val1 = wibbleDTO.Val1; wibbleBO.Val2 = wibbleDTO.Val2; } 这种复制代码很难编写。 如果复制代码是不可避免的,那么你把它放在哪里? 在BO? 在工厂? 如果可以手动避免写锅炉板代码那么如何? 提前致谢。

未检测到Web服务?

我试图托管这个服务,下面运行正常但是当我在一个不同的Visual Studio运行时打开一个新项目并试图添加一个它找不到任何东西的Web服务? 不是在指定的地址或本地机器上的任何东西? 以下代码似乎只在我在同一个解决方案中运行时才有效? namespace Students { class Program { static void Main(string[] args) { // Create the address for the service Uri address = new Uri(“http://localhost:8001”); // Create the binding for the service WSHttpBinding binding = new WSHttpBinding(); // Create the service object StudentService service = new StudentService(); // Create the host for the […]

WCF服务Process.Start在网络服务帐户下冒充为不同的用户

我使用带有NETWORK SERVICE Identity的AppPool .NET 4.0在IIS,Windows Server 2008 R2中托管了Wcf服务。 我的Wcf服务有一个使用Process.Start调用命令EXE的方法。 我需要使用不同的用户作为执行命令EXE(域用户帐户)的凭据。 我尝试执行它但它对我不起作用:它似乎没有执行命令EXE。 更新:进程已退出,但未执行代码 我得到的错误如下: 退出代码-1073741502 和eventvwr: Process Information: Process ID: 0xc50 Process Name: C:\DeployTools\DeployTools.Commands.Ejecutar.exe Exit Status: 0xc0000142 应用程序无法正确启动(0xC0000142)。 单击“确定”关闭应用程序 有什么建议? 码: StreamReader sr = null; StreamReader serr = null; try { var psi = new ProcessStartInfo(MY_COMMAND_EXE); psi.WorkingDirectory = Path.GetDirectoryName(MY_COMMAND_EXE); psi.Arguments = arguments; psi.Domain = DOMAIN; psi.UserName […]

图像使用c#web服务从Android应用程序上传到服务器

我想使用c#web服务将图像上传到IIS服务器。 我已经为此编写了Web方法,如下所示: [WebMethod] public string UploadFile(byte[] f, string fileName) { try { MemoryStream ms = new MemoryStream(f); FileStream fs = new FileStream(System.Web.Hosting.HostingEnvironment.MapPath (“~/TransientStorage/”) +fileName, FileMode.Create); ms.WriteTo(fs); ms.Close(); fs.Close(); fs.Dispose(); return “OK”; } catch (Exception ex) { // return the error message if the operation fails return ex.Message.ToString(); } } 这里web方法将参数作为byte []。我已经将sdcard图像转换为byte []但是当我将它作为URL参数传递时它不起作用。我也试过将byte []数组转换为base64 strig仍然没有用。 任何人都可以告诉我如何使用c#web服务将图像上传到IIS服务器。

将asmx SOAP webservice转换为ASP.NET上的REST:WCF真的对此有用吗?

为什么不在配置中添加http get支持,这样做的好处是服务将兼具SOAP和REST? 什么是rest的嗡嗡声? WCF将为此带来什么? 我的意思是,如果我只是在我的web.config中为我的asmx webservice设置为能够接受类似rest的语法,那么从REST客户端应用程序的角度来看会有什么不同 和WCF REST实现http://geekswithblogs.net/.NETonMyMind/archive/2008/02/04/119291.aspx ? 似乎没有人能真正回答……是因为它很难或是我的问题是愚蠢的:) 客户端只看到url(封装原则)所以我为什么要打扰更多? 什么是更多仍然不清楚:) 其他问题:如果我们切换到WCF,我们是否需要更改url? 如果是,这意味着我们所有的合作伙伴客户都将被打破,我将不得不通知他们我们的变更?

如何获取WCF Web服务的IP地址

从C#客户端(System.ServiceModel.ClientBase 的实例)调用WCF Web服务时,如何获取我连接的服务器的IP地址? 上下文:我们为一些WCF服务设置了一个Web服务器场,我需要知道在发生exception时我连接到哪个特定服务器。

WCF IList序列化问题

我有一个对象,其中包含从WCF Web服务方法返回的通用IList: [DataContract(Name = “PageableList_Of_{0}”)] public class PageableResults { [DataMember] public IList Items { get; set; } [DataMember] public int TotalRows { get; set; } } [OperationContract] PageableResults ListCI(); 当我在服务上调用此方法时,它会执行整个方法,但最后会抛出System.ExecutionEngineException而不会发生InnerException。 我已经尝试返回一个具体的List 对象,这似乎有效,但不幸的是我需要找到一个解决方法来返回一个IList。 我需要输入任何属性来解决这个问题吗?

如何格式化Json输出?

我的Web服务响应有mimetype:“application / json”和我的JSON输出没有间距,像这样 1 {“Data”:{“Item”:”123″,”Timestamp”:”2011-11-24T17:50:43″}} 当JSON应该像这样输出 2 { “Data”:{ “Item”:”123″, “Timestamp”:”2011-11-24T17:50:43″ } } 有什么方法可以修复JSON格式,所以它看起来像#2?

如何更改不影响客户端的WCF服务合同?

我是新手,但在阅读一些关于wcf的文章后我才知道,如果你改变了ServcieContrcat,那么你不仅要改变服务端,而且还要改变客户端,这真的很难管理。 Example 1: 开发人员必须为订单处理创建WCF服务,具有以下function:GetOrderById,GetOrdersByStatus,SaveOrder ServiceContract可能如下所示 [ServiceContract] public interface IOrderService { [OperationContract] Order GetOrderById(int orderId); [OperationContract] List GetOrdersByStatus(OrderStatus orderStatus); [OperationContract] void SaveOrder(Order order) } 例如,月之后,项目经理说:好的,我们的客户需要另外的function:DeleteOrderById,GetOrdersByCustomerId并且不再需要GetOrdersByStatus,我们需要GetOrdersByStatusAndCustomerId 开发人员必须更新ServiceContrcat并更新客户端。 如您所见,ServiceContrcat中的任何更改都非常困难 所以我正在寻找最好的指导如何开发wcf服务,如果我们扩展function或任何类型的更改不会产生任何问题,但客户端不会遇到任何问题。 谢谢

WebService不反序列化某些对象

我已经建立了一个Web服务(REST),我从Windows服务中调用它。 有些电话似乎没有问题,也有问题。 而其他一些人正在返回Bad Request。 我将服务器设置为在反序列化数据为NULL时返回Bad Request。 Web Service使用EDMX从数据库生成对象类。 本地服务具有对Web服务的服务引用,因此它具有相同的对象类。 我正在使用Microsoft.AspNet.WebApi.Client Nuget Package来从本地服务进行调用。 代码低于Web服务操作 //NOT WORKING [OperationContract] [WebInvoke(Method = “POST”, UriTemplate = “{entity}/consent/{consent_id}/info”)] bool ConsentInformation(string entity, string consent_id, consent info); //WORKING [OperationContract] [WebInvoke(Method = “POST”, UriTemplate = “{entity}/council/users”)] void GoGetUsers(string entity, IEnumerable user); WEB服务代码 //NOT WORKING public void ConsentStatus(string entity, string consent_id, consent_status status) { Utilities.SetResponseFormat(); […]