WebService 实现BS环境与BS环境传递参数,根据参数生成txt文档
客户端:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Client.aspx.cs" Inherits="客户端.Client" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="script/jquery-1.9.1.js"></script>
<style type="text/css">
#btn {
cursor: pointer;
height:32px;
font-size:15px;
}
</style>
</head>
<body>
<form runat="server" id="from1">
时 间:
<asp:TextBox ID="time" runat="server"></asp:TextBox></br>
地 点:
<asp:TextBox ID="address" runat="server"></asp:TextBox></br>
污染物: <asp:TextBox ID="pollutant" runat="server"></asp:TextBox></br>
投放记录:<asp:TextBox ID="PutonRecord" runat="server"></asp:TextBox></br></br>
<asp:Button ID="btn" runat="server" Text="点击传递参数" OnClick="btn_Click" class="btn02"/>
返回的ID为:<asp:Label ID="Id" runat="server" Text=""></asp:Label>
</form>
</body>
</html>
<script type="text/javascript">
$('#PutonRecord').ready(function () {
$('#PutonRecord').css("width", "400px"),
$('#PutonRecord').css("height", "20px")
});
$('#time').ready(function () {
$('#time').css("width", "400px"),
$('#time').css("height", "20px")
});
$('#address').ready(function () {
$('#address').css("width", "400px"),
$('#address').css("height", "20px")
});
$('#pollutant').ready(function () {
$('#pollutant').css("width", "400px"),
$('#pollutant').css("height", "20px")
});
</script>
客户端后台:
protected void btn_Click(object sender, EventArgs e)
{
ServiceReference1.WebService1SoapClient c = new ServiceReference1.WebService1SoapClient();
string times = time.Text;
string addr = address.Text;
string pollu = pollutant.Text;
string putrecord = PutonRecord.Text;
int id = c.GetData(times, addr, pollu, putrecord);
Id.Text = id.ToString();
}
服务端 WebService
using Common;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Web;
using System.Web.Services;
namespace 服务端
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
//参数:时间 ,地点, 污染物, 投放记录
int id;
[WebMethod]
public int GetData(string time, string address, string pollutant, string PutonRecord)
{
if (time != null && address != null && pollutant != null && PutonRecord != null)
{
string[] msgs = { time, address, pollutant };
File.Delete(@"C:\Users\jun\Desktop\WaterTools\WaterTools\para.txt");
for (int i = 0; i < msgs.Length; i++)
{
using (StreamWriter write = new StreamWriter(@"C:\Users\jun\Desktop\WaterTools\WaterTools\para.txt", true))
{
write.Write(msgs[i] + "\r\n");
}
}
//污染记录分开写入到para.txt文档中
string[] jilu = PutonRecord.Split(' ');
for (int i = 0; i < jilu.Length; i++)
{
using (StreamWriter wri = new StreamWriter(@"C:\Users\jun\Desktop\WaterTools\WaterTools\para.txt", true))
{
wri.Write(jilu[i] + "\r\n");
}
}
//删除原有res.txt文档
try
{
File.Delete(@"C:\Users\jun\Desktop\WaterTools\WaterTools\res.txt");
}
catch { };
Process.Start(@"C:\Users\jun\Desktop\WaterTools\WaterTools\WaterTools.exe");
Data();
}
return id;
}
public int Data()
{
Thread.Sleep(31000);
DirectoryInfo di = new DirectoryInfo(@"C:\Users\jun\Desktop\WaterTools\WaterTools");
FileSystemInfo[] infos = di.GetFileSystemInfos();
for (int i = 0; i < infos.Length; i++)
{
if (infos[i].Name == "res.txt")
{
//存在
FileStream fs = new FileStream(@"C:\Users\jun\Desktop\WaterTools\WaterTools\res.txt", FileMode.Open);
byte[] buffer = new byte[1024 * 1024 * 5];
//实际读取到的有效字节数
int r = fs.Read(buffer, 0, buffer.Length);
//将字节数组解码成字符串
string str = Encoding.Default.GetString(buffer, 0, r);
fs.Close();
fs.Dispose();
string sql = "insert into Data(Result)values(@Res) SELECT @@IDENTITY";
SqlParameter[] ps = new SqlParameter[] { new SqlParameter("@Res", str) };
object obj = SqlHelper.ExcuteScalar(sql, ps);
string o = obj.ToString();
id = Convert.ToInt32(o);
break;
}
}
return id;
}
}
}
另外防止调用时间超时 ,只需要在客户端设置sendTimeout="00:05:00"这里是标识5分钟在节点binding中设置就好
服务端需要设置 executionTimeout="300000"在httpRuntime中设置
WebService 实现BS环境与BS环境传递参数,根据参数生成txt文档的更多相关文章
- Laravel(PHP)使用Swagger生成API文档不完全指南 - 基本概念和环境搭建 - 简书
在PHPer中,很多人听说过Swagger,部分人知道Swagger是用来做API文档的,然而只有少数人真正知道怎么正确使用Swagger,因为PHP界和Swagger相关的资料实在是太少了.所以鄙人 ...
- 环境变量PATH、cp命令、mv命令、文档查看cat/more/less/head/tail 各个命令的使用介绍
第2周第2次课(3月27日) 课程内容: 2.10 环境变量PATH2.11 cp命令2.12 mv命令2.13 文档查看cat/more/less/head/tail 2.10 环境变量PATH P ...
- Linux CentOS7 VMware 环境变量PATH、cp命令、mv命令、文档查看cat/more/less/head/tail——笔记
一.环境变量PATH PATH一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径. 命令在这几个目录里面就不需要敲绝对路径 echo $PATH 例子:把/tmp/ 加到 $PA ...
- WebService生成XML文档时出错。不应是类型XXXX。使用XmlInclude或SoapInclude属性静态指定非已知的类型。
情况是SingleRoom和DoubleRoom是Room类的子类.在WebService中有一个方法是返回Room类. public Room Get(int roomId) { return Ro ...
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...
- 从0构建webpack开发环境(三) 开发环境以及 webpack-dev-server 的使用
sourceMap 实际应用开发过程中大部分时间都是处于开发模式中,其中需要频繁的修改代码.调试和打包. 但是打包后的代码多个模块压缩到了一个bundle文件,如果出现警告或者异常很难定位到具体模块和 ...
- uboot环境变量(设置bootargs向linux内核传递正确的参数)
这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误.查看了很多资料后猜想应该是uboot传递 ...
- 如何在Azure环境里做好信息传递可扩展性经验分享
作者 王枫 发布于2014年5月15日 综述 本文介绍建立一个在Azure上使用Azure服务总线, 高吞吐量短信平台的必要步骤.在这篇文章中提出的解决方案是在响应由客户的具体要求,建立一个基于Win ...
- Javascript的二进制数据处理学习 ——nodejs环境和浏览器环境分别分析
以前用JavaScript主要是处理常规的数字.字符串.数组对象等数据,基本没有试过用JavaScript处理二进制数据块,最近的项目中涉及到这方面的东西,就花一段时间学了下这方面的API,在此总结一 ...
随机推荐
- POJ_3258_River_Hopscotch_[NOIP2015]_(二分,最大化最小值)
描述 http://poj.org/problem?id=3258 给出起点和终点之间的距离L,中间有n个石子,给出第i个石子与起点之间的距离d[i],现在要去掉m个石子(不包括起终点),求距离最近的 ...
- windows下的BT服务器搭建方案
BT下载可以说是目前网络上最流行的P2P文件共享方式了.BT服务器相比于FTP服务器有许多优势,其中最重要的一点就是BT服务器不受服务器带宽和连接到服务器用户数量的限制,能够提供高速的下载服务.今天, ...
- js 获取服务器控件
大致是HtmlControl被服务器发送到页面ID不变,比如<div id="a" runat="sever"></div> WebCo ...
- AFNetworking 2.0 获取json数据时,返回 NSLocalizedDescription=Request failed: unacceptable content-type: text/html, 解决方法.
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSe ...
- 数据结构:二级指针与Stack的数组实现
[简介] Stack,栈结构,即传统的LIFO,后进先出,常用的实现方法有数组法和链表法两种.如果看过我上一篇文章<数据结构:二级指针与不含表头的单链表>,一定会看到其中的关键在于,利用v ...
- 类加载器classCloader
ref: http://blog.csdn.net/studyvcmfc/article/details/7720322 得复习一下深入java虚拟机 1.类加载器干啥的? 把 class文件加载到虚 ...
- normalization归一化
简单的举个例子:一张表有两个变量,一个是体重kg,一个是身高cm.假设一般情况下体重这个变量均值为60(kg),身高均值为170(cm).1,这两个变量对应的单位不一样,同样是100,对于身高来说很矮 ...
- Docker系列(三)常用命令
命令说明 docker pull 格式: docke pull [OPTIONS] NAME[:TAG] 作用:下载名称为 name 的镜像 例子: sudo docker pull dl.docke ...
- Spring笔记(三)AOP前篇之动态代理
AOP思想是将程序中的业务代码与服务代码进行分离,在运行时进行结合.比较强调程序的层次结构,是一种面向切面的编程.而在AOP实现的底层主要用到了动态代理,而动态代理又分为JDK动态代理和CGLIB动态 ...
- HW2.10
import javax.swing.JOptionPane; public class Solution { public static void main(String[] args) { Str ...