我正在使用websocket4net在 C# 中创建 WebSocket 客户端并与服务器通信。
我能够发送数据,但无法接收服务器发回的回复。根本Client_MessageReceived没有被触发。不过我可以在 WireShark 中看到回复。
我正在使用的代码如下:
class CommandRPC
{
public String jsonrpc;
public String method;
public Parameter @params;
public String id;
}
class Parameter
{
public String cmd;
}
class Program
{
static WebSocket Client;
static CommandRPC command;
static void Main(string[] args)
{
Client = new WebSocket("ws://10.131.35.32/DIAG");
Client.Opened += new EventHandler(Client_Opened);
Client.Error += new EventHandler<SuperSocket.ClientEngine.ErrorEventArgs>(Client_Error);
Client.Closed += new EventHandler(Client_Closed);
Client.MessageReceived += new EventHandler<MessageReceivedEventArgs>(Client_MessageReceived);
Client.DataReceived += new EventHandler<DataReceivedEventArgs>(Client_DataReceived);
command = new CommandRPC();
command.jsonrpc = …Run Code Online (Sandbox Code Playgroud) 我已经在PhpStorm 中设置了PlantUML插件。
我已经下载了Graphviz 2.36并安装在我的机器上。
我已经搜索了如何设置Graphviz以便使用PlantUML在PhpStorm 中执行用例,但我找不到任何信息
根据LINQPad网站,有几个不同的版本
我怎么知道我在跑什么?"帮助/关于"屏幕有一个版本号,但没有谈论平台.
我弹出一个窗口,如果一个不存在则创建一个MainWindow:
if (App.Current.MainWindow != null && App.Current.MainWindow.GetType() == typeof(MainWindow))
{
this.Close();
}
else
{
//main Window hasn't been created yet so create it!
MainWindow main = new MainWindow();
App.Current.MainWindow = main;
this.Close();
main.Show();
wndw = main;
}
Run Code Online (Sandbox Code Playgroud)
我如何引用MainWindow以便在if语句之外使用它?
我希望能够做到main.txbox.Text = ....等等.
这是我尝试过的:
MainWindow main;
if
{...
}
else
{...
}
main= App.Current.MainWindow;
Run Code Online (Sandbox Code Playgroud)
要么 MainWindow main = App.Current.MainWindow();
这些方法似乎都不起作用.我确定这很简单,我只是无法弄清楚语法.救命?
编辑:类似于我之前问过的这个问题,但不同,因为我在这里询问引用当前打开的窗口时的语法.类似的问题是指如何检测哪个窗口被打开.它们很相似,但我不想偏离主题.
我的模型对象具有一些用于延迟加载集合的属性,而 AutoMapper 则可以在我不需要它们时加载这些集合(这导致我的数据库中执行数千次查询)。当我调用时,是否可以使 AutoMapper 忽略某些属性Mapper.Map?
public TTarget Adapt<TSource, TTarget>(TSource source)
{
return Mapper.Map<TTarget>(source);
}
Run Code Online (Sandbox Code Playgroud) 在Xamarin.Forms项目中,我试图告诉ActivityIndicator你自己展示然后导航到另一个页面
activityIndicatorObject = new ActivityIndicator()
{
HorizontalOptions = LayoutOptions.CenterAndExpand,
Color = Color.Red,
IsVisible = false,
IsRunning = false,
IsEnabled = false,
BindingContext = this,
};
ViewBookButton = new Button{ Text = "view book" };
ViewBookButton.Clicked += ViewBook;
protected void ViewBook(Object sender,EventArgs e)
{
//Go To View Book Page
activityIndicatorObject .IsVisible = true;
activityIndicatorObject .IsRunning = true;
activityIndicatorObject .IsEnabled = true;
activityIndicatorObject .SetBinding(ActivityIndicator.IsVisibleProperty, "IsBusy");
this.IsBusy = true;
Navigation.PushAsync(new BookPage());
this.IsBusy = false;
}
Run Code Online (Sandbox Code Playgroud)
ActivityIndicator没有显示?我怎么能让它显示出来?
我创建了一个活动指示器并将其添加到StackLayout,当我使其运行时,在模拟器中它显示在右上角的Android 4.4和iOS中没有显示,在Android 6手机中,它没有显示.
var indicator = new ActivityIndicator()
{
Color = Color.Blue,
};
indicator.SetBinding(ActivityIndicator.IsVisibleProperty, "IsBusy", BindingMode.OneWay);
indicator.SetBinding(ActivityIndicator.IsRunningProperty, "IsBusy", BindingMode.OneWay);
AbsoluteLayout.SetLayoutFlags(indicator, AbsoluteLayoutFlags.PositionProportional);
AbsoluteLayout.SetLayoutBounds(indicator, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));
mainLayout.Children.Add(indicator);
Run Code Online (Sandbox Code Playgroud)
我想将活动指示器显示在屏幕中央,因为操作需要一些时间才能完成.
目前我正在使用Typewriter从我的C#类自动生成TypeScript类.可以说我有这个非常简单的C#类:
[Dto]
public class MyDto
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我也有这个简单的打字机模板:
$Classes(c => c.Attributes.Any(x => x.Name == "Dto"))[
export class $Name {
constructor(
$Properties[
public $name: string,
]
) { }
}]
Run Code Online (Sandbox Code Playgroud)
我对此模板的问题是在生成的ts类中的最后一个构造函数参数属性之后有一个尾随逗号:
export class MyDto {
constructor(
public prop1: string,
public prop2: string, /* <---- notice the comma here */
) { }
}
Run Code Online (Sandbox Code Playgroud)
我希望在TypeScript类中将C#类的属性生成为参数属性,但是上面的示例生成的TypeScript无效.有没有办法用打字机模板实现这一目标?
如果您曾尝试在asp.net核心中使用SQLClient,您可能已经注意到缺少DataTables和DataSets,用于数据库I/O的表结构.
对于输出数据,我们可以选择SqlDataReader.但是对于输入数据,我还没有找到解决这个问题的方法 - 例如,如果你想通过框架461中的参数将表传递给SP,我们使用'SqlDbType = SqlDbType.Structured和DataTable class'.任何人的想法?
我有问题,我正在使用 react-router 通过单击链接“更多”来访问完整的信息新闻页面,在我更改这两个页面中的某些内容之前,所有内容都可以正常显示和呈现。
FullInfoNews.js
export class FullInfoNews extends React.Component {
render (){
return (
<div>
<div className="row">
<div className="about-title">
<div className="container">
<h2>{this.props.news.body}</h2>
<p>{this.props.news.title} </p>
<img className="center-block" src={this.props.news.image} />
</div>
</div>
</div>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
FullInfoNewsContainer.js
export default class FullInfoMediaContainer extends React.Component{
constructor(){
super();
this.state={
news:[]
}
}
componentDidMount(){
console.log('componentDidMount777');
const url='http://new-sciencepark.1gb.ru/api/getNewsById/'+this.props.params.id+'?lang=Ru' ;
superagent
.get(url)
.query(null)
.set('Accept', 'application/json')
.end ((error, response)=>{
const news=response.body.data.news
console.log(JSON.stringify(news));
this.setState({
news: news
})
})
}
render(){
console.log(this.props)
const {params}=this.props;
return(
<div>
{params.id}
<FullInfoNews news={this.state.news} /> …Run Code Online (Sandbox Code Playgroud) c# ×5
xamarin ×2
asp.net-core ×1
automapper ×1
datatable ×1
graphviz ×1
linqpad ×1
phpstorm ×1
plantuml ×1
react-router ×1
reactjs ×1
sql-server ×1
typewriter ×1
websocket ×1
wpf ×1
xamarin.ios ×1