小编Fro*_*rud的帖子

"使用WebRequest无法确定URI的格式"

我正在尝试使用C#中的WebRequest对站点执行POST.我发布的网站是一个SMS站点,而messagetext是URL的一部分.为了避免URL中的空格,我正在调用HttpUtility.Encode()来对其进行URL编码.

但我不断收到URIFormatException - "无效的URI:无法确定URI的格式" - 当我使用类似于此的代码时:

string url = "http://www.stackoverflow.com?question=a sentence with spaces";
string encoded = HttpUtility.UrlEncode(url);

WebRequest r = WebRequest.Create(encoded);
r.Method = "POST";
r.ContentLength = encoded.Length;
WebResponse response = r.GetResponse();
Run Code Online (Sandbox Code Playgroud)

当我调用WebRequest.Create()时会发生异常.

我究竟做错了什么?

c# exception httpwebrequest

11
推荐指数
1
解决办法
3万
查看次数

如果安装了特定应用程序,则从浏览器中检测

我们有一个高级网页(ASP.NET,C#),以及需要在客户端计算机上安装的应用程序,以便充分利用网页.该应用程序是一个托盘应用程序,主要有两个任务.检测网络服务器上发生某些事件的时间(例如邀请参加会议或通知即将举行的会议).trayapp的另一个任务是使用自定义协议(trayapp://)来执行一些ajax调用回服务器.

我们遇到的一个问题是如何确定应用程序是否安装在本地计算机上.现在,用户必须勾选一个复选框以通知网站应用程序已安装,并且可以安全地调用trayapp:// url调用.

有没有办法,例如通过JavaScript或类似方法来检测我们的应用程序是否安装在本地计算机上?

该检查需要适用于IE,FF和Opera浏览器.

javascript asp.net ajax web-applications

9
推荐指数
2
解决办法
9392
查看次数

"该文件尚未预编译,无法请求"

我在Windows 2003,IIS 6服务器上安装了一组标准的Web服务.当我通过浏览器访问任何网络服务时,我得到一个.NET黄色屏幕,例外情况:

文件'/SuperOfficeWebService/Contact.asmx'尚未预编译,无法请求.

相同的标准Web服务(通过.msi安装)适用于其他计算机.

.asmx文件只包含文本"这是由预编译工具生成的标记文件,不应删除!",如预期的那样.

在bin \子文件夹中,我有.compiled文件,它们匹配.asmx文件.

什么可能导致错误消息?是否有任何IIS设置或.NET 2.0设置阻止IIS加载已编译的文件?

iis web-services exception

9
推荐指数
1
解决办法
2万
查看次数

针对WSDL编程而无需访问实际的Web服务

我将使用C#从几个Web服务中读取数据.我以前做了很多次,但那些时候我已经从我的开发机器直接访问了webservices.

在这个项目中,我刚刚发送了一个.wsdl文件,以及一些.xsd文件,用于他们在本地Intranet中的Web服务.

我已经看到我可以使用"添加Web引用",并直接指向.wsdl文件,以便创建一个C#类.

但我怎么能真正测试呢?我想返回一些我可以在开发时可视化的虚拟数据.针对这种情况的任何提示?

c# wsdl web-services

9
推荐指数
1
解决办法
8835
查看次数

WPF绑定风格

我正在尝试将一个简单的TextBox水印文本放在一起Background.我的代码基于Philip Patrick博客的示例.

我正在尝试调整它,以便从后面的ToolTip属性中检索背景中显示的文本TextBox.

目前这有效:

<TextBox ToolTip="Type a name here...">
            <TextBox.Background>
                <VisualBrush TileMode="None" Opacity="0.4" Stretch="None" AlignmentX="Left">
                    <VisualBrush.Visual>
                        <TextBlock FontStyle="Italic" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TextBox}}, Path=ToolTip}"/>
                    </VisualBrush.Visual>
                </VisualBrush>
            </TextBox.Background>
        </TextBox>
Run Code Online (Sandbox Code Playgroud)

这显示ToolTip在文本BackgroundTextBox.

但是,如果我将部分代码移到资源样式,则绑定不再ToolTip从以下内容获取信息TextBox:

<Grid>
    <Grid.Resources>
        <Style x:Key="WatermarkBackground" TargetType="{x:Type TextBox}">
            <Setter Property="Background">
                <Setter.Value>
                    <VisualBrush TileMode="None" Opacity="0.4" Stretch="None" AlignmentX="Left">
                        <VisualBrush.Visual>
                            <TextBlock FontStyle="Italic" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TextBox}}, Path=ToolTip}"/>
                        </VisualBrush.Visual>
                    </VisualBrush>
                </Setter.Value>
            </Setter>
        </Style>
    </Grid.Resources>

    <TextBox …
Run Code Online (Sandbox Code Playgroud)

wpf binding styles

8
推荐指数
1
解决办法
6603
查看次数

找出给定长度的所有可能单词的好方法是什么

我正在尝试在C#中创建一个算法,它产生以下输出字符串:

AAAA
AAAB
AAAC
...and so on...
ZZZX
ZZZY
ZZZZ
Run Code Online (Sandbox Code Playgroud)

完成此任务的最佳方法是什么?

public static IEnumerable<string> GetWords()
{
    //Perform algorithm
    yield return word;
}
Run Code Online (Sandbox Code Playgroud)

c# string algorithm iterator

7
推荐指数
3
解决办法
5173
查看次数

删除XAML使用的图像文件

我正在尝试删除WPF中的图像文件,但WPF会锁定该文件.

    <Image Source="C:\person.gif" x:Name="PersonImage">
        <Image.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Delete..." x:Name="DeletePersonImageMenuItem" Click="DeletePersonImageMenuItem_Click"/>
            </ContextMenu>
        </Image.ContextMenu>
    </Image>
Run Code Online (Sandbox Code Playgroud)

Click处理程序看起来像这样:

    private void DeletePersonImageMenuItem_Click(object sender, RoutedEventArgs e)
    {
        System.IO.File.Delete(@"C:\person.gif");
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试删除文件时,它被锁定,无法删除.

有关如何删除文件的任何提示?

wpf image

6
推荐指数
2
解决办法
6686
查看次数

在MVC中使用memorystream和DotNetZip给出"无法访问封闭的流"

我正在尝试使用DotNetZip组件在MVC方法中创建一个zipfile.

这是我的代码:

    public FileResult DownloadImagefilesAsZip()
    {
        using (var memoryStream = new MemoryStream())
        {
            using (var zip = new ZipFile())
            {
                zip.AddDirectory(Server.MapPath("/Images/"));
                zip.Save(memoryStream);

                return File(memoryStream, "gzip", "images.zip");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到一个"无法访问关闭的流"错误,我不知道为什么.

asp.net-mvc dotnetzip

5
推荐指数
1
解决办法
5171
查看次数

使用不同版本的webservices的设计模式?

我正在寻找一种设计模式来解决我正在遇到的架构问题.

我使用的是一些有点相同但不完全相同的Web服务.对于每个新版本的Web服务,可能还有一些可用的方法,但在大多数情况下它们基本相同.

我想编写一个抽象层,无论我正在与哪个版本的Web服务通信,它都能正常工作.显然,如果我使用的方法只存在于较新版本的webservices中,我会得到某种错误,但这没关系.我可以处理那些.

我想要这个抽象层的原因是为了避免我的应用程序与它正在与之通信的web服务版本之间的紧密耦合.

在设计抽象层的模式时,我有哪些选择?我看到有一种叫做Adapter的模式,另一种叫做Bridge.在这种情况下,任何人都会这样做吗?任何帮助表示赞赏!

编辑 - 为清楚起见,这是一幅图. 在此输入图像描述

有时我希望我的应用程序与webservices版本1通信,有时我希望它使用webservices版本2.这取决于谁在使用客户端应用程序.

客户端应用程序不应该知道或关心它正在与哪个版本进行通信.唯一的例外是,如果它使用的方法仅在某些版本中可用,我需要优雅地处理(告诉用户他们已经安装了旧版本的webservices).

design-patterns web-services

5
推荐指数
1
解决办法
1164
查看次数

有没有办法限制 Spark 数据帧类型中的字符串长度?

有没有办法为 Spark Dataframe 中的字符串类型设置最大长度。我正在尝试读取一列字符串,获取最大长度并使该列的字符串类型具有最大长度 max length。

有没有办法做到这一点 ?

dataframe apache-spark

4
推荐指数
1
解决办法
2万
查看次数